真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++中如何使用析構(gòu)函數(shù)

本篇文章給大家分享的是有關(guān)C++中如何使用析構(gòu)函數(shù),小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)宜陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

C#中的終結(jié)器(也就是析構(gòu)函數(shù))類似于C++析構(gòu)函數(shù),但是由于編譯時無法確定終結(jié)器的執(zhí)行時機,因此兩者實際上存在相當(dāng)大的區(qū)別。垃圾回收器調(diào)用C#終結(jié)器的時機是在對象上一次使用之后,但是在應(yīng)用程序關(guān)閉之前的某個時間。相反,只要一個對象(而非指針)超出范圍,(此處的范圍指作用域),就會自動調(diào)用C++析構(gòu)函數(shù)。對此我還真有點懷疑,于是分別寫了C++與C#的代碼看一下情況是否真的是這樣。

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  namespace ConsoleApplication1  {  class Program  {  static void Main(string[] args)  {  test();  }  static void test()  {  myPeople p = new myPeople();  Console.WriteLine("Complate");  }  }  class myPeople  {  public myPeople()  {  Console.WriteLine("Construct");  }  ~myPeople()  {  Console.WriteLine("Dispose");  }  }  }

于是我分別在各個方法中插入斷點然后F5開始逐步調(diào)試,我發(fā)現(xiàn)沒有myPeople的調(diào)用是在test()方法執(zhí)行完畢后,Main()方法結(jié)束執(zhí)行器調(diào)用的。再看C++

#include #include using namespace std;  class myPeople  {  public :  myPeople()  {  cout<<"Construct"<

通過上面的執(zhí)行過程就會發(fā)現(xiàn)確實如同本質(zhì)論作者說的那樣,C#調(diào)用終結(jié)器與C++析構(gòu)函數(shù)區(qū)別是相當(dāng)大的。C#清理一個類的資源并不是確定的,而C++類資源的釋放是該類超出作用域之后便開始調(diào)用析構(gòu)函數(shù)。

以上就是C++中如何使用析構(gòu)函數(shù),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前名稱:C++中如何使用析構(gòu)函數(shù)
分享網(wǎng)址:http://weahome.cn/article/gjesde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部