C++11中的智能指針怎么用

本篇內(nèi)容介紹了“C++11中的智能指針怎么用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

公司主營業(yè)務:網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出晉源免費做網(wǎng)站回饋大家。

函數(shù)原型:

shared_ptr& operator= (const shared_ptr& x) noexcept;

說明:

從已有指針賦值給shared_ptr,共享數(shù)據(jù)管理權(quán)。

代碼實例:

C++11中的智能指針怎么用

執(zhí)行結(jié)果:

C++11中的智能指針怎么用

從輸出結(jié)果可以看到ps和ps1計數(shù),指針的取值。

注意事項:

ps1的聲明和賦值是分兩次進行的,只有這樣才會執(zhí)行賦值操作。下面的代碼看起來雖然是賦值,但實際執(zhí)行的是初始化操作(構(gòu)造函數(shù))。

C++11中的智能指針怎么用

移動賦值

函數(shù)原型:

shared_ptr& operator= (shared_ptr&& x) noexcept;

說明:

從已有指針賦值給shared_ptr,伴隨數(shù)據(jù)管理權(quán)的轉(zhuǎn)移。移動賦值和拷貝賦值的區(qū)別在于參數(shù)是否為右值引用。

代碼實例:

C++11中的智能指針怎么用

執(zhí)行結(jié)果:

C++11中的智能指針怎么用

從輸出結(jié)果可以看到ps和ps1計數(shù),指針的取值。

注意事項:

雖然拷貝賦值也不會導致內(nèi)存泄漏,但是某些場景下,移動賦值可以更加準確的反映編程者的意圖,可能更早的釋放內(nèi)存。

下面的代碼執(zhí)行的也是移動賦值。

C++11中的智能指針怎么用

“C++11中的智能指針怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)站題目:C++11中的智能指針怎么用
分享網(wǎng)址:http://muchs.cn/article4/ghgdie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務器、關(guān)鍵詞優(yōu)化、營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣App開發(fā)、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)