C++ 如何确保为堆栈分配的对象调用析构函数?当我如下分配动态内存时,析构函数(或指向它的指针)会发生什么:
class MyClass {
public:
~MyClass()
{
std::cout<<"Destructor called."<<std::endl;
}
MyClass()
{
std::cout<<"Constructor called."<<std::endl;
}
};
....................................................................
//Limit scope for example
{
MyClass instance;
}
构造函数和析构函数都被调用。这里发生了什么?