大家不是一直吐槽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...