C++ 如何确保为堆栈分配的对象调用析构函数?当我如下分配动态内存时,析构函数(或指向它的指针)会发生什么:
class MyClass {
public:
~MyClass()
{
std::cout<<"Destructor called."<<std::endl;
}
MyClass()
{
std::cout<<"Constructor called."<<std::endl;
}
};
....................................................................
//Limit scope for example
{
MyClass instance;
}
构造函数和析构函数都被调用。这是怎么回事?
最佳答案
编译器在适当的位置插入对对象的析构函数的调用。
关于c++ - 为堆栈分配的对象调用析构函数的机制是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1362328/