Согласен это мысль!
Хотя "моём" случае нет переопределения функций. Если только велосипедисты не наступили на такие грабли сами где-то в описаниях класса. Это мысль. Но тогда надо разбираться со всем классом, а это ну его нафиг.
Модератор: Дед Пахом
Согласен это мысль!
?????? Dispose ???????????
The Destruct method is an automatic destructor that is called when the object is removed from memory. This ensures that all data allocated by the object is removed from memory.
Код: Выделить всё
S &MyObject
S1 MyObject
Code
! Сейчас сработал конструктор S1
S &= New(MyObject) ! Присвоили ссылку
....
Return
! Сработал деструктор для S1
! А деструктор для S не сработает...
DISPOSE или деструктор? DISPOSE надо вызвать самому, это автоматически вызовет деструктор.
Код: Выделить всё
DISPOSE(s) !- неявный вызов деструктора
Можно, но это нарушает "бритву Оккама". Да и излишние расходы на поиск свободного объекта в пуле, если работа не организована по принципу стека.
Я понял. И ответ как раз на тему, что, ро мне, не всегда это оправданно. Только если ссылок много.
У меня аналогичная ситуация. Как выяснилось, SystemStringClass не любит ни конструкторов, ни деструкторов, если они автоматически вызываются в момент объявления переменной или закрытия программы, за исключением случаев, когда это выполняется при инициализации/закрытии потока.