#includeusing namespace std;
templateclass auto_ptr
//預設引數的建構函式
auto_ptr(auto_ptr& rhs): pointee(rhs.release()) {}
~auto_ptr()
auto_ptr& operator=(auto_ptr& rhs)
return(*this);
} t& operator*() const
t* operator->() const
t* get() const
t* release()
void reset(t *p = 0)
}private:
t* pointee;
};struct pt
};int main()
智慧型指標 強弱智慧型指標
在平時編寫 的時候經常會用到new來開闢空間,而我們開闢出來的空間必須得手動去delete他,但是如果程式設計師忘記去手動釋放那邊會出現乙個麻煩的問題,記憶體洩漏!或者是一塊記憶體被多個函式同時使用時,如果其中乙個函式不知道還有其他人也在使用這塊記憶體而釋放掉的話同樣也會引起程式的崩潰。引起記憶體洩...
資料共享 指向自身型別的指標 智慧型指標
實際專案遇到如下要求 1 某幾個類 a,b,c,可以共享某個資料類 2 a,b,c,這些類只使用資料類中感興趣的資料成員 3 只要資料類的資料更新,a,b,c,類中相應的資料也可更新 思考 1.繼承 組合 指標都有資料分享的功能,但結合上述要求,選擇指標實現 2.指標 讓多個指標指向資料類,實現資料...
C 中智慧型指標迴圈指向的陷阱
c 利用引用技術和智慧型指標可以實現對堆記憶體的自動管理,當智慧型指標退出生命週期時,會減小管理物件的引用計數,當物件引用計數為0時,便釋放該堆記憶體資源。看上去這一技術很不錯,堆記憶體有生命週期了,不用手動釋放了。實時上智慧型指標任然存在危險,下面就是乙個例子。class a class b cl...