Effective C++学习笔记 (14)
来源:互联网 发布:gta5 handling漂移数据 编辑:程序博客网 时间:2024/06/07 07:27
本人学习C++不精,故重新学习,点滴记录与大家分享,不足之处还望大牛多多指教。
在资源管理类中小心copying行为
对于上一条款所讲的RAII(资源取得时便是初始化时机)原则,本条款对于资源管理类的拷贝行为进行了说明,大概分为以下几种:在执行copy时采用深度拷贝,把管理类的资源也一起拷贝;禁止copy行为(将拷贝构造函数或者赋值运算符私有化);使用引用计数(shared_ptr)。
其实仔细想想这种做法还是很有必要的,上一条款所讲的两种只能指针中auto_ptr之所以说是一种不完整的,就是因为他没有采用以上三种方法中的任何一种。但是它采用了移除被拷贝者资源的方法来避免两个资源管理对象同时拥有同一个资源,这样一来也保证了一个资源只被一个资源管理对象拥有。总的来说要么保证一个资源只被一个资源管理对象所拥有,要么保证同一个资源在被多个资源管理对象拥有时不会出现被提前释放或者未释放的情况。
感觉该条款没有太多的代码可以贴,所以就稍微用点文字记录下吧。
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记
- 《Effective C++》学习笔记(1)
- 《Effective C++》学习笔记(一)
- 《Effective C++》学习笔记(二)
- 《Effective C++》学习笔记(三)
- 《Effective C++》学习笔记(四)
- 《Effective C++》学习笔记(五)
- 《Effective C++》学习笔记(六)
- 《Effective C++》学习笔记(七)
- 《Effective C++》学习笔记(八)
- Effective Objective-C 学习笔记(一)
- 《effective c++》学习笔记(一)
- 《effective c++》学习笔记(二)
- 《effective c++》学习笔记(三)
- 《effective c++》学习笔记(四)
- 探讨一下论文查重系统的设计方法
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- poj1422 - Air Raid
- MVC-Controllers 数据验证
- 阿里笔试小结
- Effective C++学习笔记 (14)
- Terracotta与EHcache集群
- 【shell】grep
- poj1383 - Labyrinth
- tree list
- EhCache集群方案-JGroups
- 羌笛声声胡笳怨,此心长寄天涯远
- 深入浅出 MVC 数据验证 2.0 [附演示源码]
- 关于Ehcache集群缓存在应用重启后的加载问题