В Visual Studio 2008 (C ++) у меня есть деструктор класса (назовем этот класс 'A'), который удаляет указатель на другой класс (назовем этот класс 'B').
это выглядит так:
A::~A()
{
delete B;
B = NULL;
}
Мой класс B имеет указатель на экземпляр A, который его создал. В деструкторе B я удаляю все в B, кроме указателя на экземпляр A.
В моей отладочной сборке все работает нормально, но не получается в моей сборочной версии ..
В отладочной сборке, сразу после удаления B, но до того, как B переназначен на NULL, значение указателя на экземпляр A выглядит странно, как 0xdddddddd. экземпляр A .. В обоих случаях указатель на B все еще действителен и B не уничтожается. Что происходит и как мне это исправить?