Effective C++读书笔记2

析构函数绝对不要突出异常

在两个异常同时存在的情况下,程序若不是结束执行就是导致不明确的行为,一个较好的策略如下

 

定制自己的swap函数

swap的缺省版本是以copy构造函数和copy assignment操作符为基础

如果缺省swap实现效率不足(那总是意味着你的class或者template使用了某种pimpl手法),

1、提供一个public swap成员函数,让它高效地置换你的类型的两个对象值。

2、在你的class或template所在的命名空间内提供一个non-member swap,并令它调用上述swap成员函数。

3、如果你正编写一个class(而非class template),为你的class特化std::swap,并令它调用你的swap成员函数。

posted @ 2015-03-16 10:32  啊哈灵机一动  阅读(144)  评论(0)    收藏  举报