
effective C++
文章平均质量分 51
EmberWn
初学者
展开
-
资源管理类
以对象管理资源,获取资源后立刻放进管理对象。构造函数获取资源,析构函数释放资源。资源管理类中小心copying行为。一般有几种做法: 1、禁止复制,例如输入输出流。 2、对底层资源采用“引用计数法”,可以利用shared_ptr智能指针,可以指定删除器,更改计数为0时的行为。 3、复制底部资源,深拷贝 4、转移底部资源的所有权,只有一个对象指向资源原创 2017-09-18 21:51:50 · 450 阅读 · 0 评论 -
swap函数的实现方式
默认版本namespace std { template<typename T> void swap(T & a,T & b) { T temp(a); a=b; b=temp; }}如果类采用指针存储数据,则默认交换方式会变得低效。因为只用交换两个指针便能实现两个对象的交换。因此需要特化版本的swap,由于指针是私有成原创 2017-09-21 15:00:31 · 1904 阅读 · 0 评论