關於智能指標

來源:互聯網
上載者:User

標籤:style   blog   http   ar   color   使用   sp   div   2014   

對share_ptr,屬於強引用型的智能指標。內部通過引用計數實現對對象的管理,在引用計數為0時,自動釋放對象。使用share_ptr的缺點是:會造成對象的循環參考,導致對象永遠無法釋放,比如:

Share_ptr可以在多線程中使用,確保指標指向的對象是有效。

 

Weak_ptr是弱引用性的智能指標。Weak_ptr不對造成對象的引用技術的增加。因此不會造成對象的循環參考,weak_ptr可以通過引用計數或者 成員函數expired來判斷對象是否已經釋放。在訪問對象時。但是在使用時需要把weak_ptr轉換為share_ptr指標比如:

 shared_ptr<string> sp (new string("code"));   cout<<*sp<<endl;   weak_ptr<string> wp = sp;   cout<<wp.use_count()<<endl;   cout<<wp.lock()->c_str()<<endl;   shared_ptr<string> tempsp(wp);   cout<<wp.use_count()<<endl;   cout<<*tempsp<<endl;

關於智能指標

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.