C++如何確保爲堆棧指定的對象調用析構函數?碰巧的析構函數(或它的指針),當我分配動態內存,如下內容:什麼是堆棧分配對象調用析構函數的機制?
class MyClass {
public:
~MyClass()
{
std::cout<<"Destructor called."<<std::endl;
}
MyClass()
{
std::cout<<"Constructor called."<<std::endl;
}
};
....................................................................
//Limit scope for example
{
MyClass instance;
}
構造函數和析構函數都被調用。這裏發生了什麼?
實例對象的名稱。 instance()只是對類的無參數ctor的調用。在這種情況下,parens是不必要的,但它肯定不是對稱爲instance()的方法的調用。 – dicroce 2009-09-01 13:02:07
我沒有看到任何動態內存分配。 – 2009-09-01 19:54:34