Effective C++学习笔记 (14)
2012-09-11 00:03
197 查看
本人学习C++不精,故重新学习,点滴记录与大家分享,不足之处还望大牛多多指教
。
在资源管理类中小心copying行为
对于上一条款所讲的RAII(资源取得时便是初始化时机)原则,本条款对于资源管理类的拷贝行为进行了说明,大概分为以下几种:在执行copy时采用深度拷贝,把管理类的资源也一起拷贝;禁止copy行为(将拷贝构造函数或者赋值运算符私有化);使用引用计数(shared_ptr)。其实仔细想想这种做法还是很有必要的,上一条款所讲的两种只能指针中auto_ptr之所以说是一种不完整的,就是因为他没有采用以上三种方法中的任何一种。但是它采用了移除被拷贝者资源的方法来避免两个资源管理对象同时拥有同一个资源,这样一来也保证了一个资源只被一个资源管理对象拥有。总的来说要么保证一个资源只被一个资源管理对象所拥有,要么保证同一个资源在被多个资源管理对象拥有时不会出现被提前释放或者未释放的情况。
感觉该条款没有太多的代码可以贴,所以就稍微用点文字记录下吧。
相关文章推荐
- JavaScript学习笔记14-if语句
- Effective c++学习笔记——条款09:绝不在构造和析构过程中调用virtual函数
- Effective C++学习笔记 条款07:为多态基类声明virtual析构函数
- effective c++学习笔记
- python学习笔记14(多态、封装、继承)
- Effective C++学习笔记——构造/析构/拷贝运算
- Spring学习笔记(14)----使用CGLIB实现AOP功能
- thinkCSpy学习笔记: Chapter 14 Classes and functions 类和函数
- 人工智障学习笔记——机器学习(14)mds&isomap降维
- Effective C++学习笔记 (1)
- 【Java学习笔记】基础知识学习14【文件】
- Effective C++学习笔记1
- Effective C++学习笔记 (12)
- Effective C++学习笔记之第四章(3)
- C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
- 强大的DataGrid组件[14][Final]_数据验证——Silverlight学习笔记[22]
- OAF学习笔记-14-CO中获取VO中的值
- Emacs学习笔记(14):在Emacs中使用git
- 大数据学习笔记-------------------(14)
- API Demos 2.3 学习笔记 (14)-- Views->Progress Bar