C++ Primer學習總結 第12章 動態內存

第12章 動態內存


1.    申請並使用shared_ptr.  P400

 

2.    shared_ptr計數. P402

賦值, 拷貝, 向函數傳遞一個智能指針, 或函數返回一個智能指針都會增加當前智能指針的計數.

 

3.    不同對象間利用智能指針共享數據的例子.

 

4.    使用new來動態申請內存. P407

默認情況下,new申請的內存對象都是默認初始化的.

 

5.    new申請的const對象必須初始化. P408

如果申請內置類型, 那麼必須用括號()初始化. 如果申請類類型, 如果該類對象有默認構造函數, 可以默認初始化. 但是如果該類對象沒有默認構造函數, 那麼必須用其他構造函數初始化.

 

6.    使用delete.  P409

delete只能刪除指針且該指針指向的必須是用過new申請的內存空間.

 

7.    shared_ptr和new結合使用. P412

 

8.    不要混用智能指針和內置指針.P 413

 

9.    unique_ptr對象初始化.   P417

由於unique_ptr”擁有”它的對象, 所以它不能拷貝和賦值, 且只能用內置指針通過括號()初始化它.

但是我們可以拷貝或賦值一個即將被消耗的unique_ptr. 如下面函數所示:

 

10.  unique_ptr對象的reset()函數和release()函數用法.  P418

 

11.  unique_ptr傳遞自己的刪除器:  P419

shared_ptr傳遞自己的刪除器也類似於unique_ptr.

 

12.  weak_ptr 使用例子 P420.

 

13.  new分配動態數組.  P424

無論方式1還是方式2,得到的都是數組元素類型的指針而不是得到一個數組類型,所以如果對其用begin或end都是錯的

 

14.  使用智能指針管理動態數組. P425

推薦使用unique_ptr來管理數組.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章