C 智慧型指標個人記錄

2022-05-08 22:03:12 字數 684 閱讀 4731

shared_ptr允許多個指標指向同乙個物件,unique_ptr則「獨佔」所指向的物件。標準庫還定義了一種名為weak_ptr的伴隨類,它是一種弱引用,指向shared_ptr所管理的物件,這三種智慧型指標都定義在memory標頭檔案中。

不可以用shared_ptr或者weak_ptr指向乙個unique_ptr,因為後者是自己獨佔的,不可能與他人分享。

shared_ptr和unique_ptr的操作:

weak_ptr的操作:

weak_ptr中只有函式lockexpired兩個函式比較重要,因為它本身不會增加引用計數,所以它指向的物件可能在它用的時候已經被釋放了,所以在用之前需要使用expired函式來檢測是否過期,然後使用lock函式來獲取其對應的shared_ptr物件,然後進行後續操作

智慧型指標share ptr記錄

shared ptr 是乙個共享所有權的智慧型指標,允許多個指標指向同乙個物件。shared ptr 物件除了包括乙個物件的指標,還包括乙個引用計數器。當每給物件分配乙個share ptr的時候,引用計數加一 每reset乙個share ptr,或者修改物件的指向 指向其他物件或者賦值nullptr...

回憶記錄之C 智慧型指標

智慧型指標,顧名思義,它是指標,但是比普通指標更優秀,因為它有 智慧型 對於普通指標,動態申請堆記憶體後忘記釋放,就會發生記憶體洩漏。而智慧型指標能夠幫助管理動態記憶體,防止發生記憶體洩漏,這是因為智慧型指標借鑑了類的析構函式的思想。對於類來說,當該類的物件過期時,會自動呼叫其析構函式,釋放資源。智...

c 智慧型指標

auto prt 它是 它所指向物件的擁有者 所以當自身物件被摧毀時候,該物件也將遭受摧毀,要求乙個物件只有乙個擁有者,注意 auto prt 不能使用new 來分配物件給他 include include using namespace std template void bad print au...