码迷,mamicode.com
首页 > 编程语言 > 详细

C++ Primer学习总结 第12章 动态内存

时间:2015-03-09 10:57:10      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:c++ primer 第5版本   c++   c++11   

第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来管理数组.

技术分享



C++ Primer学习总结 第12章 动态内存

标签:c++ primer 第5版本   c++   c++11   

原文地址:http://blog.csdn.net/u013480600/article/details/44151531

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!