c++的改善
文章平均质量分 56
至尊灬宝
为学日益,为道日损
展开
-
针对交换操作——考虑写一个不抛异常的swap函数。
近日在研究share ptr的源码,第一遍看的时候对于里面的swap函数不以为然,反复再三之后才知到其中奥妙,于是,在这里,我来谈谈swap函数的理解,为接下来的share ptr的源码分析做铺垫。swap是异常安全编程的脊柱,以及用来处理自我赋值可能性的一个常用机制。首先,咱们来看看典型的swap实现:namespace std{ template<typename ...原创 2018-11-12 21:57:56 · 193 阅读 · 0 评论 -
智能指针的引入——定义一个行为像指针的类(point like class)
定义一个行为像指针的类(point like class)在C++智能指针share_ptr之所以能够比较智能的进行资源的动态分配和回收,一个非常非常重要的概念就是引入了引用计数。智能指针不仅仅是一个裸指针,而是一个行为像指针的类。所谓的引用计数的工作原理,有以下四点:当我们创建一个对象时,只有一个对象共享状态,所以我们把当前对象的引用计数置为一。拷贝构造函数不分配新的计数器,而是...原创 2018-11-12 17:07:30 · 365 阅读 · 0 评论