Показать сообщение отдельно
  #23  
Старый 30.03.2014, 00:04
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от angvelem
при создании динамического массива и Create не вызывается.
Ломать -- не строить, как говорят в народе. Структуры данных и объекты могут создаваться сколь угодно сложно, но способов уничтожения всего два -- FreeMem и TObject.Free. На это намекает и единственность деструктора при широком использовании перегрузки конструкторов.

Поскольку, как тут правильно заметили, динамические массивы могут использоваться и для невладеющих ссылок, достаточно было бы одного ключевого слова, чтобы показать, что ссылка владеющая. Скажем, пусть это будет class:
Код:
type
  TObjects = array of class TObject; // первый вариант

Цитата:
Сообщение от M.A.D.M.A.N.
массивы - это наследие из паскаля, в котором не было понятия объекта.
В теме речь про динамические массивы. К статическим у меня претензий нет. Динамические массивы были добавлены именно в Delphi, да не сразу, а где-то в 3-4-й версии, став расширением реализации AnsiString на произвольный тип данных.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием