記得剛開始使用共享指標的時候,不理解共享指標的reset(), std::make_shared(args....)和建構函式: 實際上本質上是一樣的,都是將乙個指標交給共享指標物件管理,只是std::make_shared(args...)在自身建構函式中,利用傳輸的引數構造乙個物件指標給生成的共享指標物件,即,在構造共享指標的同時分配關聯的指標
#include #include using namespace std;
// ptr: 普通共享指標
// constptr: 不可修改內容的共享指標
// ptrconst: 不可修改指標的共享指標,內容可以修改
// constptrconst: 只能初始化的指標,不能做任何的修改動作
#define shared_ptr_define(x) \
public: \
typedef std::shared_ptrptr; \
typedef std::shared_ptrconstptr; \
typedef const std::shared_ptrptrconst; \
typedef const std::shared_ptrconstptrconst;
class testa
};int main()
C 共享指標shared ptr使用
共享指標 shared ptr 是現在的 boost 庫中提供的,並且應該是將來c 1x的標準庫中提供的乙個模板類。在此之前,iso iec 14882 2003 標準庫 中的 自動指標 auto ptr 也有類似的功能。顯然 shared ptr 要比 auto ptr 從功能上來說應該強大一些。...
C 11使用make shared的優勢和劣勢
c 11 中引入了智慧型指標,同時還有乙個模板函式std make shared可以返回乙個指定型別的std shared ptr,那與std shared ptr的建構函式相比它能給我們帶來什麼好處呢 shared ptr需要維護引用計數的資訊,如果你通過使用原始的 new 表示式分配物件,然後傳...
智慧型指標之共享指標
智慧型指標是儲存指向動態分配物件指標的類。三種智慧型指標 std shared ptr std unique ptr std weak ptr.使用時需要加上標頭檔案 include 1.共享智慧型指標 shared ptr 初始化 shared ptr初始化可以通過reset方法初始化shared...