解構子









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




目录






  • 1 代码示例


  • 2 注釋


  • 3 參考資料


  • 4 相關條目





代码示例


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

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

运行结果为:
调用了析构函数



注釋


.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{list-style-type:none;margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>dd{margin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none}.mw-parser-output .refbegin-100{font-size:100%}



  1. ^ Finalize(),Finalize函式,英语:Finalizer




參考資料





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


相關條目


  • 三法則








Comments

Popular posts from this blog

Information security

Volkswagen Group MQB platform

Daniel Guggenheim