C++ primer 第十二章筆記之 動態記憶體

來源:互聯網
上載者:User

標籤:就會   uniq   c++   ptr   blog   empty   vector   不為   關聯   

動態記憶體:

運算子:new,delete

智能指標:

標頭檔:memoryshared_ptr:允許多個指標指向同一個對象;unique_ptr:"獨佔"所指向的對象;weak_ptr:一種弱引用,指向shared_ptr所管理的對象;

shared_ptr類

智能指標也是模板,建立指標時,提供指標指向的類型;

//建立:shared_ptr<string> p1;//若p1不為空白,檢測它是否指向一個空stringif( p1 &&p1->empty() )    *p1 = "cjz";

make_shared 函數

shared_ptr<int> p3 = make_shared<int>(24);shared_ptr<string> p4 = make_shared<string>(10,‘9‘);shared_ptr<int> p5 = make_shared<int>();//使用auto:p6指向一個動態分配的空vector<string>auto p6 = make_shared<vector<string>>();

引用計數:一旦一個shared_ptr的計數器變為0,它就會自動釋放自己所管理的對象;

shared_ptr自動銷毀所管理的對象,通過 解構函式 完成;

shared_ptr還會自動釋放相關聯的記憶體;

對於一塊記憶體,只要有任何shared_ptr對象引用它,它就不會被釋放掉;

使用動態記憶體的一個常規原因是允許多個對象共用相同的狀態;

 

C++ primer 第十二章筆記之 動態記憶體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.