...
.目錄 .智能指針 .轉換構造函數 .類型轉換函數 .小結 .智能指針 內存泄漏 臭名昭著的Bug : 動態申請堆空間,用完后不歸還 C 語言中沒有垃圾回收機制 指針無法控制所指堆空間的生命周期 我們需要什么: 需要一個特殊的指針 指針生命周期結束時主動釋放堆空間 一片堆空間最多只能由一個指針標識 杜絕指針運算和指針比較 解決方案: 重載指針特征操作符 gt 和 只能通過類的成員函數重載 重載函 ...
2018-12-08 10:49 0 1108 推薦指數:
...
智能指針: 1、內存泄漏memory leak :是指程序在申請內存后,無法釋放已申請的內存空間,一次內存泄漏似乎不會有大的影響,但內存泄漏堆積后的后果就是內存溢出。 2、內存溢出 out of memory :指程序申請內存時,沒有足夠的內存供申請者使用,或者說,給了你一塊存儲int類型數據 ...
C++智能指針 來源 https://zhuanlan.zhihu.com/p/30933682 參考 https://www.zhihu.com/question/319277442/answer/1094961099 ======================== 智能指針只能代替T ...
C++智能指針 C++ 11 新特性 智能指針(shared_ptr, unique_ptr, weak_ptr) shared_ptr shared_ptr基本用法 shared_ptr采用引用計數的方式管理所指向的對象。當有一個新的shared_ptr指向同一個對象時(復制 ...
C++的類型轉換函數 reinterpret_cast、const_cast、static_cast和dynamic_cast 前三個類型轉換是在編譯時實現轉換,dynamic_cast是在運行時進行類型轉換的。 reinterpret_cast<new type> ...
復制構造函數形如className :: className(const &) / className :: className(const className &)后者能以常量對象作為參數如不寫復制構造函數,則編譯器默認提供,為了完成對象的復制功能 它起作用有三個 ...
1,轉換構造函數可以將普通的基礎類型轉換為當前的類類型,也有能力將其它類類 型的對象轉換為當前的類類型; 2,問題: 1,類類型是否能夠類型轉換到普通類型? 1,可以的; 3,類型轉換函數: 1,C++ 類中可以定義類型轉換函數 ...
auto在c++11中已經棄用。 一、auto_ptr模板 auto_ptr與shared_ptr、unique_ptr都定義了類似指針的對象,可以將new到的地址賦給這一對象,當智能指針過期時,析構函數會調用delete函數,對象將被銷毀,由此內存可以自動被釋放 ...