История изменений
Исправление alysnix, (текущая версия) :
если ты в классе написал функцию с delete, то ты:
-
или должен гарантировать что обьект можно создавать только по new, а не на стеке или в глобальной памяти.
-
или в случае создания на стеке(или глоб. памяти) не иметь возможность вызвать delete. или курчаво понимать где создан обьект, по this (что есть адрес) - находится ли он в куче, и только тогда делитить. или делать конструктор с вариантом - создаю на куче или нет. иметь такой флаг в обьекте и делитить.
также hint - если обьект имеет функцию, что удаляет его же - это довольно подозрительное место, и хотя при аккуратном использовании это можно делать, но использовать надо оч.аккуратно и писать коммент - почему сделана функция самоубийства. обычно обьект убивают внешним кодом, а не внутренним.
Исходная версия alysnix, :
если ты в классе написал функцию с delete, то ты:
-
или должен гарантировать что обьект можно создавать только по new, а не на стеке или в глобальной памяти.
-
или в случае создания на стеке не иметь возможность вызвать delete. или курчаво понимать где создан обьект, по this (что есть адрес) - находится ли он в куче, и только тогда делитить. или делать конструктор с вариантом - создаю на куче или нет. иметь такой флаг в обьекте и делитить.
также hint - если обьект имеет функцию, что удаляет его же - это довольно подозрительное место, и хотя при аккуратном использовании это можно делать, но использовать надо оч.аккуратно и писать коммент - почему сделана функция самоубийства. обычно обьект убивают внешним кодом, а не внутренним.