Ненавижу
автоматически рождающиеся объекты типа блокирующего loading-on-demand. И синглтоны типа Майерса.
автоматически уничтожающиеся объекты под smart_ptr. И подсчёт ссылок.
автоматически регистрирующиеся получатели сообщений. И unbound рассылку сообщений.
автоматически создающиеся нетривиальные объекты со статическим storage duration. И вообще бурную деятельность до main().
мгновенность, нераспределенность, модель exception, lower-order programming.
Но научить правильно не всегда получается.
автоматически рождающиеся объекты типа блокирующего loading-on-demand. И синглтоны типа Майерса.
автоматически уничтожающиеся объекты под smart_ptr. И подсчёт ссылок.
автоматически регистрирующиеся получатели сообщений. И unbound рассылку сообщений.
автоматически создающиеся нетривиальные объекты со статическим storage duration. И вообще бурную деятельность до main().
мгновенность, нераспределенность, модель exception, lower-order programming.
Но научить правильно не всегда получается.
no subject
Date: May. 30th, 2006 12:37 (UTC)Расскажи подробно безграмотным :-)
>Имхо, классический GC применим только для тривиальных ADT.
ADT = abstract data types? В смысле runtime type info?
>Уж лучше смотреть тогда сильно в сторону от C++ ;)
Низя... На C# COM библиотеки писать ну никак низя...
no subject
Date: May. 31st, 2006 16:18 (UTC)В большинстве случаев - происходит отказ от хипа в пользу стека, хотя можно и хипом (тогда - как в sbrk). То есть группа объектов, созданная в специфической арене, живёт в ней (или висит полумёртвым грузом) и НЕ удаляется. А затем ВСЕ объекты тотально одновременно грохаются.
Если нужны стыки между аренами, то идёт или улучшенный генерационный или semispace.
Уменьшая калибр - доходит до автоматических переменных и параметров функции.