C 98智慧型指標auto ptr

2021-10-25 00:22:45 字數 522 閱讀 8980

大家不是一直吐槽c/c++的指標都要程式設計師自己管理嘛,不用擔心啦 智慧型指標就可以解決這樣的問題【說是智慧型其實就是乙個模板類,宣告週期結束析構釋放】。

auto_ptr 是c++ 98定義的智慧型指標模板,其定義了管理指標的物件,可以將new 獲得(直接或間接)的位址賦給這種物件。當物件過期時,其析構函式將使用delete 來釋放記憶體!【後面介紹c++11新增的智慧型指標】

標頭檔案:    #include

用  法:    auto_ptr《型別》 變數名(new 型別)

#include #include #include #include #include #include #include using namespace std;

class temp

temp(int val)

~temp()

int getdebug()const

private:

int debug;

};void

au

C 智慧型指標 auto ptr

智慧型指標 auto ptr vc版本 擁有權管理和轉移 當乙個智慧型指標給另乙個智慧型指標初始化的時候,兩個智慧型指標將會同時指向乙個空間,這樣在物件析構的時候,會導致一塊空間釋放多次的問題,所以乙個物件從始至終只能擁有乙個智慧型指標,這樣就保證不會乙個物件多次釋放的問題.我們讓指標給指標初始化的...

C 智慧型指標(auto ptr)

智慧型指標 在c 中使用堆記憶體是非常頻繁的操作,堆記憶體的申請和釋放都由程式設計師自己管理。使用普通指標,容易造成堆記憶體洩露,二次釋放等問題,使用智慧型指標能更好的管理堆記憶體。c 11中引入了智慧型指標的概念,方便管理堆記憶體。棧 堆區別 棧 系統開闢 系統釋放 堆 手動開闢 手動釋放 設計 ...

C 智慧型指標auto ptr

template class auto ptr 建構函式 templateinline auto ptr auto ptr t p pointee p 拷貝建構函式 templateinline auto ptr auto ptr auto ptr rhs pointee rhs.release t...