Почему я могу получить доступ к функциям-членам даже после удаления объекта?
Я новичок в C ++ и из того, что я узнал до сих пор, когда вы вызываете delete для указателя, который указывает на что-то, созданное в куче, тогда все, что указано этим указателем, стирается, и память освобождается, верно?
Однако, когда я попробовал это на простом классе:
class MyClass
{
int _Id;
public:
MyClass(int id) : _Id(id)
{
std::cout < "$Constructing the damn thing! " < _Id < std::endl;
}
~MyClass()
{
std::cout < "?Destructing the damn thing! " < _Id < std::endl;
}
void Go_XXX_Your_Self()
{
std::cout < "%OooooooooO NOOOOOO! " < _Id < std::endl;
delete this;
}
void Identify_Your_Self()
{
std::cout < "#Object number: " < _Id < " Located at: " < this < std::endl;
}
};