Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизТипы данных со словом type Найти похожие ветки
← →
p314 (2006-09-10 21:36) [0]1. Читаю в книжке про это, но не понимаю, зачем это может пригодится? Покажите несколько примеров, в которых следует прибегать к этому.
2. Так же интересно узнать, зачем нужно делать вот так, процитирую "Если же переменные A и B принадлежат простым типам данных, то оператор присваивания будет работать":type
TType1 = Integer;
TType2 = type TType1;
var
A: TType1;
B: TType2;
begin
B := A; // Работает
end.
Какой смысл в этом? Зачем создавать новый тип со словом type от простого типа данных?
← →
Джо © (2006-09-10 21:40) [1]> Зачем
Чтобы явно отличать один тип от другого, например для регистрации своего редактора свойств.
← →
begin...end © (2006-09-10 21:43) [2]См. раздел справки Delphi Language Guide -> Data types, variables, and constants -> Declaring types.
← →
p314 (2006-09-10 21:52) [3]Ну смотрите, взял пример из справки:
type
TMyType = type Integer
procedure p(var t:TMyType);
begin end;
procedure x;
var
m: TMyType;
i: Integer;
begin
p(m); //Works
p(i); //Error! Types of formal and actual must be identical.
end;
Зачем вообще делать TMyType = type Integer, т.е. эффект от TMyType = Integer был бы тот-же.
← →
Zeqfreed © (2006-09-10 21:58) [4]> [3] p314 (10.09.06 21:52)
> т.е. эффект от TMyType = Integer был бы тот-же.
А проверить?
← →
p314 (2006-09-10 22:02) [5]Я проверил, единственное что случилось — это, то что Integer"овая переменная замечательно работает в таком случае. Т.е. единственный смысл такой конструкции в том, что бы четко различать типы переменных?
← →
Джо © (2006-09-10 22:08) [6]> Т.е. единственный смысл такой конструкции в том, что бы
> четко различать типы переменных?
В общем, да.
Семантически так:type
SomeType = Integer; // объявление "синонима" для типа
SomeType = type Integer; // объявление нового типа, у которого будет своя run-time type information.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c