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的初始化可以通過以...