經驗總結 auto ptr使用小結

2021-08-25 18:11:28 字數 809 閱讀 3856

*注意點*

1> 不能用auto_ptr管理陣列指標(析構時用delete p方式釋放)。

2> 缺少引用計數機制。賦值和拷貝時,原始的auto_ptr被釋放(pointee變為null)。

3> 一塊記憶體不能同時被兩個auto_ptr管理,否則會出現記憶體重複釋放的問題。

*實現要點*

1> 過載訪問符號* 和->。

template

inline t& auto_ptr::operator *() const

return *pointee;

template

inline t* auto_ptr::operator -> () const

return pointee;

2> 特殊處理賦值與拷貝建構函式,使用release釋放原來的auto_ptr物件。

template

template

inline auto_ptr& auto_ptr::operator = (auto_ptr& rhs)

if (this != &rhs) reset(rhs.release());

return *this;

template

template

inline auto_ptr::auto_ptr(auto_ptr& rhs)

:pointee(rhs.release())

3> 顯式宣告建構函式,防止指標隱式轉換

explicit auto_ptr(t *p = 0); //防止隱式轉換

MQ使用經驗總結

mq使用經驗總結 mq經驗總結 首先了解什麼是mq?mq的作用是什麼?mq是通訊中介軟體。他的作用是省去開發人員開發通訊工具的時間,節省開發成本,提高開發效 率。mq的使用,如何安裝mq?根據以往的經驗,win版的mq比較容易安裝,傻瓜式,一路next就可以。aix版本的用 itty安裝。linux...

Less 使用 經驗總結

案例一 cons 80px myloop counter,i 0 when i counter out ptzcontrol over myloop counter,i 1 next iteration myloop 9 生成的css檔案如下 用sublime的less2css外掛程式自動生成的 s...

sourceTree使用經驗總結

1.公司的git 使用者名稱 yihn 密碼 略 2.安裝git客戶端 sourcetree 3.可以連線到你託管在bitbucket stash microsoft tfs或github中的 庫 4.設定 新增遠端倉庫 5.工具 選項新增預設使用者資訊,電子郵件,ssh秘鑰等 6.一般建立本地gi...