C++智能指標及其簡單實現

來源:互聯網
上載者:User

標籤:

  本將主要介紹智能指標shared_ptr和unique_ptr,並簡單實現基於引用計數的智能指標。

  自C++11起,C++標準提供兩大類型的智能指標:

  1. Class shared_ptr實現共用式擁有(shared ownership)概念。多個智能指標可以指向相同對象,該對象和其相關資源會在“最後一個引用(reference)被銷毀”時候釋放。為了在結構複雜的情境中執行上述工作,標準庫提供了weak_ptr、bad_weak_ptr和enable_shared_from_this等輔助類。

  2. Class unique_ptr實現獨佔式擁有(exclusive ownership)或嚴格擁有(strict ownership)概念,保證同一時間內只有一個智能指標可以指向該對象。它對於避免資源流失(resourece leak)——例如“以new建立對象後因為發生異常而忘記調用delete”——特別有用。

  註:C++98中的Class auto_ptr在C++11中已不再建議使用。

shared_ptr

 

 

unique_ptr

 

 

智能指標簡單實現

 

C++智能指標及其簡單實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.