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