c 智慧型指標

2021-06-13 06:19:54 字數 453 閱讀 6740

auto_prt :它是(它所指向物件的擁有者),所以當自身物件被摧毀時候,該物件也將遭受摧毀,要求乙個物件只有乙個擁有者,

注意:auto_prt 不能使用new 來分配物件給他

#include

#include

using namespace std;

template

void bad_print(auto_ptrf)

int _tmain(int argc, _tchar* argv)

解決上面的辦法就是const reference

即是 void bad_print(const auto_ptr& f)

注意:乙個auto_ptr 不要指向另外乙個auto_ptr ,因為在賦值的時候,換轉染所屬權,到時候舊的的物件就會被釋放,而新的指標指向乙個被釋放的物件,

也不要用乙個auot_ptr指向乙個i額array

c 智慧型指標

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

c 智慧型指標

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

C 智慧型指標

c 智慧型指標主要是在普通指標的基礎上封裝了一層,使得使用者對指標的使用更加方便和放心,在使用的過程中不用擔心指標因為釋放問題而導致的異常。在c 11中,智慧型指標主要有三種 shared ptrptr,unique ptrptr,weak ptrptr shared ptrptr的初始化可以通過以...