Re: вопрос
От: Erop Россия  
Дата: 25.08.10 07:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Добрый день. Есть такой пример:


Используй для оформления кода тэги [c] [/c]!

А>class B {
А>Method()
А>{
А>   _holder->DelMe();
А>}
А>};

А>class A
А>{
А>DelMe()
А>{
А>  if (BObj) delete BObj;
А>}
А>};

А>Меня смущает B::Method, возможно ли тут возникновение ошибки, когда она может возникнуть?
Ну, если я верно понял твой вопрос, то иы спрашиваешь, можно ли в методе класса говорить delete this? Да можно.
Но при этом DoSomething() должен быть статическим, так как вызов нестатического метода -- это разыменование, а разыменование удалённого указателя -- это UB
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.