template
<
class
t>
class
smartpointer
//指標拷貝建構函式,新建乙個指向已有物件的智慧型指標
//需要先設定ptr和ref_count
//設為指向sptr的ptr和ref_count
//並且,因為新建了乙個ptr的引用,所以引用計數加一
smartpointer
(smartpointer
&sptr)
//rewrite "="
smartpointer
&operator
=(smartpointer
&sptr)
~smartpointer()
t getvalue()
t getcount()
protected
://刪除指標
void
remove()
}private
:unsigned
* ref_count;
//應用計數值
t * ref;
//普通指標
};
智慧型指標實現
namespace smart smart count 增加引用計數,並返回計數值.intaddref 減少引用計數,並返回計數值.intrelease private 計數變數.intuse count 智慧型指標.template class t class smart ptr 構造空指標.ex...
實現智慧型指標
資源的轉移不推薦使用。舊庫使用擁有者會導致野指標 實現 template class autoptr autoptr autoptr ap ptr ap.ptr autoptr operator autoptr ap return this autoptr t getptr const t getp...
自己動手寫資料結構 智慧型指標類
智慧型指標類 class smartpt smartpt friend class hasptr int pt size t use class hasptr hasptr const hasptr h ptr h.ptr val h.val hasptr hasptr operator const...