Здравствуйте, Аноним, Вы писали:
А>в C++ все классы — суть object в Delphi, плюс автоматические деструкторы(с конструкторами хуже — в Delphi их можно заменить простые Init процедуры, "конструктор по умолчанию" обнуляет все поля). Так что class в Delphi совсем не то, что в C++. И принципы работы другие — выделяется только в куче, позволяет быть представителем интерфейса, COM-объектом напрямую, а не через страшные шаблоны как в C++ и пр. и пр. А вообще стоит посмотреть в исхдники VCL — там все такие кинструкции заключениы в try..finally..end, это такое правило
. Хотя я для свох нужд сделал обвязку типа smart pointer для Delphi на интерфейсе — все стало проще
правда для использования smart pointer существует жуткое количество ограничений, например нельзя использовать const& для содержимого
но только это проблемы самой идеи, а не реализации.
Так я не пойму — можно ли заставить дельфи деструкторы вызывать или нет? Или из твоего текста
C++ все классы — суть object в Delphi, плюс автоматические деструкторы
т.е. объект дельфи — класс C++ минус автоматические деструкторы, так чтоли?