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

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

C++11怎么移動構造函數(shù)通常

這篇文章主要講解了“C++11怎么移動構造函數(shù)通常”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++11怎么移動構造函數(shù)通常”吧!

湄潭網(wǎng)站建設公司創(chuàng)新互聯(lián),湄潭網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為湄潭成百上千提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿網(wǎng)站建設要多少錢,請找那個售后服務好的湄潭做網(wǎng)站的公司定做!

不會拋出異常的移動構造函數(shù)

拷貝構造函數(shù)通常伴隨著內存分配操作,因此很可能會拋出異常;移動構造函數(shù)一般是移動內存的所有權,所以一般不會拋出異常。

C++11中新引入了一個noexcept關鍵字,用來向程序員,編譯器來表明這種情況。

C++11怎么移動構造函數(shù)通常

noexcept函數(shù)

對于永遠不會拋出異常的函數(shù),可以聲明為noexcept的。這一方面有助于程序員推斷程序邏輯,另一方面編譯器可以更好地優(yōu)化代碼。

為了說明這個效果我們將Tracer類稍作修改。

C++11怎么移動構造函數(shù)通常

分別在拷貝構造函數(shù)和移動構造函數(shù)(noexcept)中實際上拋出異??纯闯绦虻姆磻?/p>

沒有聲明noexcept的情況

首先是沒有聲明為noexcept的拷貝構造函數(shù)。

C++11怎么移動構造函數(shù)通常

try處理中調用了拷貝構造函數(shù),輸出結果如下:

C++11怎么移動構造函數(shù)通常

異常被正常捕捉。

聲明了noexcept函數(shù)的情況

C++11怎么移動構造函數(shù)通常

try處理中調用了聲明為noexcept的移動構造函數(shù),輸出結果如下:

C++11怎么移動構造函數(shù)通常

同樣的try/catch構造已經(jīng)不能捕捉移動構造函數(shù)拋出的異常從而導致程序終止。這說明noexcept影響了編譯器生成的代碼。

感謝各位的閱讀,以上就是“C++11怎么移動構造函數(shù)通?!钡膬热萘耍?jīng)過本文的學習后,相信大家對C++11怎么移動構造函數(shù)通常這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!


網(wǎng)站標題:C++11怎么移動構造函數(shù)通常
本文URL:http://weahome.cn/article/igsdec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部