C 智慧型指標

2021-10-16 01:11:54 字數 406 閱讀 7021

shared_ptr 可以通過make_shared的標準庫返回乙個shared_ptr型別的指標來進行初始化,但是unique_ptr沒有這樣的操作,當定義乙個unique_share型別的指標時,需要將其繫結到乙個new返回的指標上。類似於shared_ptr,初始化unique_ptr必須採用直接初始化的形式:

unique_ptr<

int> p1;

//正確,指向乙個int型別的unique_ptr

unique_ptr<

int>p2(

newint(5

));//正確指向乙個值為5的int

unique_ptr<

int>p3(

5);//錯誤,int型別的5,但是需要乙個new返回的指標

c 智慧型指標

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

c 智慧型指標

很久沒寫部落格了,不知道如何表達了,哈哈.我先介紹一下深淺拷貝.class copy 此時a.ptr和b.ptr指向同乙個物件,當我們delete a.ptr時 b.ptr所指向的物件已經不存在了,要是我們引用b.ptr指向的物件也就會出問題了.深拷貝 把a.ptr所指向的物件拷貝乙份給b.ptr ...

c 智慧型指標

記得前不久有一次面試被問到智慧型指標的實現,當時對智慧型指標只是聽說但沒有了解過,就亂七八糟地說了一遍。今天寫了一遍智慧型指標,用了引用計數的概念。主要思想就是,用乙個新類對原本需要的型別進行了一層封裝,這個新類中儲存了原本的物件指標和乙個引用計數的指標,之所以全部用指標來儲存,就是因為會出現多個新...