fbpx
维基百科

解構子

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

代码示例

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;  } 

运行结果与上方相同

注釋

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

參考資料

相關條目

解構子, 英語, destructor, 有時簡稱, dtor, 在面向对象程序设计裡是一個方法, 當对象的生命週期結束時, 它會自動地被呼叫執行, 它最主要的目的在於, 清空並釋放物件先前建立或是佔用的記憶體資源, 的整體使用概念關鍵在於raii, 一個具備垃圾回收機制的程式語言, 無法確保是否會被執行, 通常這類的程式語言不屬於raii的範圍內, 這類的程式語言, 只要經由某個適當的函式, 通常會呼叫dispose, 函式, 做呼叫的動作, 那麼它一定會從現有資源釋放物件, 與使用垃圾回收機制的finalize. 解構子 英語 Destructor 有時簡稱 dtor 在面向对象程序设计裡是一個方法 當对象的生命週期結束時 它會自動地被呼叫執行 它最主要的目的在於 清空並釋放物件先前建立或是佔用的記憶體資源 解構子的整體使用概念關鍵在於RAII 一個具備垃圾回收機制的程式語言 無法確保解構子是否會被執行 通常這類的程式語言不屬於RAII的範圍內 這類的程式語言 只要經由某個適當的函式 通常會呼叫Dispose 函式 做呼叫的動作 那麼它一定會從現有資源釋放物件 與使用垃圾回收機制的Finalize 相比 建議使用解構子是釋放資源的適當做法 註 1 目录 1 代码示例 2 注釋 3 參考資料 4 相關條目代码示例 编辑class Demo public Demo 定义析构函数 std cout lt lt 调用了析构函数 lt lt std endl int main Demo demo 在部分开发环境中可能没有显示内容 把它放在块儿中即可 return 0 返回之前调用析构函数 运行结果为 调用了析构函数第二种调用方式 class Demo public Demo 定义析构函数 std cout lt lt 调用了析构函数 lt lt std endl int main Demo 在Visual Studio 2017中运行 return 0 运行结果与上方相同注釋 编辑 Finalize Finalize函式 英語 Finalizer參考資料 编辑比雅尼 史特勞斯特魯普 The C Programming Language Addison Wesley ISBN 0 201 70073 5相關條目 编辑三法則 这是一篇關於電腦程式語言的小作品 你可以通过编辑或修订扩充其内容 查论编 取自 https zh wikipedia org w index php title 解構子 amp oldid 60466026, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。