Re[2]: Whidbey for Visual C++ .NET - destructor chaining
От: desperado_gmbh http://www.livejournal.com/users/tolstopuz
Дата: 27.11.03 08:04
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>The destructor implicitly implements the Dispose pattern of managed code and includes chaining, and is called when a stack-based object goes out of scope, a class member's enclosing object is destroyed or when delete is called.


VD>Для менеджед-объектов "помещаемых" в стэк делается прокси. Сам объект хранится точкно так же в менеджед-хипе.


Да и пусть. Тем более что этот прокси и не обязан существовать в il, компилятору достаточно помнить про него и сгенерировать в конце функции finally-блок с Dispose. Для меня основная проблема с отсутствием деструкторов в c# не в необходимости вызывать Dispose на самом верху, а в необходимости реализовывать Dispose pattern в каждом классе, косвенно владеющем unmanaged-ресурсами.

VD>В общем, это идеология враперов незаметных невооруженным взглядом. Таким образом С++-программист будет видеть меньше подробностей работы системы чем Шарповик.


В c# lock, using и T::~T уже прячут подробности. Кажется, всех это только радует
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.