c++几种智能指针比较
生活随笔
收集整理的這篇文章主要介紹了
c++几种智能指针比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
unique_ptr持有對對象的獨有權——兩個unique_ptr不能指向一個對象,即 unique_ptr 不共享它所管理的對象。它無法復制到其他 unique_ptr,無法通過值傳遞到函數,也無法用于需要副本的任何標準模板庫 (STL)算法。只能移動 unique_ptr,即對資源管理權限可以實現轉移
shared_ptr 是一個標準的共享所有權的智能指針,允許多個指針指向同一個對象,在使用引用計數的機制上提供了可以共享所有權的智能指針
weak_ptr?:它不具有普通指針的行為,沒有重載 operator* 和 operator->,表明其是功能較弱的智能指針。它協助 shared_ptr 工作,可獲得資源的觀測權,像旁觀者那樣觀測資源的使用情況。觀察者意味著 weak_ptr 只對 shared_ptr 進行引用,而不改變其引用計數,當被觀察的 shared_ptr 失效后,相應的 weak_ptr 也相應失效。?weak_ptr 可用于打破循環引用。引用計數是一種便利的內存管理機制,但它有一個很大的缺點,那就是不能管理循環引用的對象
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的c++几种智能指针比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++几种STL比较
- 下一篇: IO消耗和处理器消耗