01.
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(上)Item 25: 考虑支持不抛异常的 swapswap 是一个有趣的函数。最早作为 STL 的一部分被引入,后来它成为异常安全编程(exception-safe programming)的支柱(参见 Item 29)和压制自赋值可能性的通用机制(参见 )。因为...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(上)
02.
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(下)因此该怎么做呢?我们还是需要一个方法,既使其他人能调用 swap,又能让我们得到更高效的模板特化版本。答案很简单。我们还是声明一个非成员 swap 来调用成员 swap,只是不再将那个非成员函数声明为 std::swap 的特化...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 25: 考虑支持不抛异常的 swap(下)
03.
翻译:Effective C++, 3rd Edition, Item 23: 用非成员非友元函数取代成员函数Item 23: 用非成员非友元函数取代成员函数想象一个象征 web 浏览器的类。在大量的函数中,这样一个类也许会提供清空已下载成分的缓存。清空已访问 URLs 的历史,以及从系统移除所有 cookies 的功能:class WebBrowse...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 23: 用非成员非友元函数取代成员函数
04.
翻译:Effective C++, 3rd Edition, Item 11: 在 operator= 中处理自赋值Item 11: 在 operator= 中处理自赋值当一个对象赋值给自己的时候就发生了一次自赋值:class Widget { ... };Widget w;...w = w; // assignment to self这看起来很愚蠢,但它是合法...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 11: 在 operator= 中处理自赋值
05.
翻译:Effective C++, 3rd Edition, Item 14: 谨慎考虑资源管理类的拷贝行为Item 14: 谨慎考虑资源管理类的拷贝行为Item 13 介绍了作为资源管理类支柱的 Resource Acquisition Is Initialization (RAII) 原则,并描述了 auto_ptr 和 tr1::shared_ptr 在基于堆的资源上运用这一原则的表现。并非...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 14: 谨慎考虑资源管理类的拷贝行为
06.
翻译:Effective C++, 3rd Edition, Item 8: 防止因为异常而离开析构函数Item 8: 防止因为异常而离开析构函数C++ 并不禁止从析构函数中引发异常,但是这确实妨碍了实践。至于有什么好的理由,考虑:class Widget {public: ... ~Widget() { ... } // assume this might emit a...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 8: 防止因为异常而离开析构函数
07.
翻译:Effective C++, 3rd Edition, Item 31: 最小化文件之间的编译依赖(上)Item 31: 最小化文件之间的编译依赖作者:你进入到你的程序中,并对一个类的实现进行了细微的改变。提醒你一下,不是类的接口,只是实现,仅仅是 private 的东西。然后你重建(rebuild)这个程序,预计这个任务应该只...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 31: 最小化文件之间的编译依赖(上)
08.
翻译:Effective C++, 3rd Edition, Item 28: 避免返回对象内部构件的“句柄”Item 28: 避免返回对象内部构件的“句柄”假设你正在一个包含矩形的应用程序上工作。每一个矩形都可以用它的左上角和右下角表示出来。为了将一个 Rectangle 对象保持在较小状态,你可能决定那些点的定义的...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 28: 避免返回对象内部构件的“句柄”
09.
翻译:Effective C++, 3rd Edition, Item 26: 只要有可能就推迟变量定义第五章 实现在极大程度上,为你的类(包括类模板)和函数(包括函数模板)提供正确的定义是战斗的关键性部分。一旦你得到正确的结果,相应的实现很大程度上就是直截了当的。但是仍然有一些注意事项需要当心。过早地定...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 26: 只要有可能就推迟变量定义
10.
翻译:Effective C++, 3rd Edition, Item 22: 将数据成员声明为 privateItem 22: 将数据成员声明为 private好了,先公布一下计划。首先,我们将看看为什么数据成员不应该声明为 public。然后,我们将看到所有反对 public 数据成员的理由同样适用于 protected 数据成员。这就导出了数据成员...查看完整版>>
翻译:Effective C++, 3rd Edition, Item 22: 将数据成员声明为 private
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。