Management объект в не management памяти

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Re: Management объект в не management памяти

Сообщение runewalsh » 15.07.2018 10:57:41

>Это документированое поведение?
Кажется, нет :(
Наверное, в один прекрасный день взяли и добавили неявный FillChar(instance, 0) по аналогии с занулением экземпляров классов в InitInstance.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: Management объект в не management памяти

Сообщение zub » 15.07.2018 17:45:35

>>Кажется, нет :(
т.е. в один прекрасный момент или на какойто платформе или с какимто хитрым ключиком возьмут и этот филчар закоментят... И это будет правильно - занулять не дело конструктора
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: Management объект в не management памяти

Сообщение runewalsh » 15.07.2018 19:41:00

Моя бы воля, я бы и зануление POD-типов в экземплярах классов или в SetLength(array) убрал или настраивал ключом...
Ну я к этому и вёл, говоря про «случайно»: жизненный цикл object'а должен выглядеть строго как GetMemInitializeconstructor → ...работа... → destructorFinalizeFreeMem.
Аватара пользователя
runewalsh
энтузиаст
 
Сообщения: 578
Зарегистрирован: 27.04.2010 00:15:25

Re: Management объект в не management памяти

Сообщение Дож » 16.07.2018 06:30:40

Окей, убедили, object'ы непригодны.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: Management объект в не management памяти

Сообщение zub » 16.07.2018 08:58:18

>>object'ы непригодны
это про делфи. на фпц вполне себе пригодны))
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Пред.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru