考慮這個例子:「析構函數OK」析構函數的對象後不會被調用超出範圍
#include <iostream>
using namespace std;
class MyClass
{
public:
~MyClass() { cout << "DTOR OK !" << endl; }
};
int main(void)
{
MyClass test();
MyClass* pTest = new MyClass();
delete pTest;
}
爲什麼不打印兩次?爲什麼不調用本地對象「測試」的析構函數?
當析構函數是私有的時候,我發現刪除pTest只有一個編譯錯誤;但不適用於本地對象?這裏發生了什麼事 ?
好的。所以它是最重要的。我不記得當我瞎狩獵的時候它是最多的還是非最多的。 – user4581301
可以,因爲構造函數也沒有被調用。 – AnT