解構子

解構子（，有時簡稱 dtor）在面向对象程序设计裡是一個方法，當对象的生命週期結束時，它會自動地被呼叫執行。它最主要的目的在於，清空並釋放物件先前建立或是佔用的記憶體資源。解構子的整體使用概念關鍵在於RAII。一個具備垃圾回收機制的程式語言，無法確保解構子是否會被執行，通常這類的程式語言不屬於RAII的範圍內。這類的程式語言，只要經由某個適當的函式，通常會呼叫Dispose()函式，做呼叫的動作，那麼它一定會從現有資源釋放物件。與使用垃圾回收機制的Finalize()相比，建議使用解構子是釋放資源的適當做法。

代码示例
class Demo{
public:
    ~Demo()                     //定义析构函数
    {
       std::cout << "调用了析构函数 " << std::endl;
    }
};

int main()
{
   {
      Demo demo ;   
   }               // 在部分开发环境中可能没有显示内容，把它放在块儿中即可
    return 0;   //返回之前调用析构函数;
}
运行结果为:
调用了析构函数

第二种调用方式：
class Demo{
public:
    ~Demo()                     //定义析构函数
    {
       std::cout << "调用了析构函数 " << std::endl;
    }
};

int main()
{
    Demo();      //在Visual Studio 2017中运行。
    return 0;  
}
运行结果与上方相同

 注釋 

 參考資料 

比雅尼·史特勞斯特魯普: The C++ Programming Language, Addison-Wesley, ISBN 0-201-70073-5

 相關條目 
三法則

Category:方法 (電腦科學)