c++11的unique_ptr智慧型指標:
一旦建立,就指向那塊記憶體,以後再也不能讓其它的智慧型指標指向同一塊記憶體。
這個指標實現比較簡單,只需定義乙個類的例項時,自己類內部刪除拷貝建構函式和刪除賦值運算子過載函式就可以了。
#include using namespace std;
templateclass munique_ptr
~munique_ptr()
//刪除拷貝建構函式
munique_ptr(const munique_ptr &r)=delete;
//刪除賦值運算子過載函式
munique_ptr &operator=(const munique_ptr &r)=delete;
t operator*()
};int main(void)
因為是unique_ptr指標,唯一的,如果存在兩個指標指向同一塊空間,那麼就會得一下執行結果:
智慧型指標 實現unique ptr
之前介紹了auto ptr實現,但其並不完美,當然也不 智慧型 鑑於之前的auto ptr實現了簡單的資源管理權的轉移,下面來看一下另一種思想的unique ptr。在unique ptr中為了避免繁瑣的拷貝 賦值出現的問題,unique ptr更像是乙個油鹽不進的老頑固,別人怎麼說,他也不聽,直接...
智慧型指標 unique ptr
unique ptr 是 c 11 提供的用於防止記憶體洩漏的智慧型指標中的一種實現,獨享被管理物件指標所有權的智慧型指標。int main std move是將物件的狀態或者所有權從乙個物件轉移到另乙個物件,只是轉移,沒有記憶體的搬遷或者記憶體拷貝所以可以提高利用效率,改善效能.get函式會返回儲...
C 智慧型指標unique ptr的簡單實現
簡單的實現了unique ptr,包括如下成員函式 template typename t class uniqueptr uniqueptr public void reset t presource 先釋放資源 如果持有 再持有資源 t release 返回資源,資源的釋放由呼叫方處理 t ge...