Item 48: 感受 template metaprogramming(模板元编程) 作者: 译者: 发布: template metaprogramming (TMP)(模板元编程
Item 48: 感受 template metaprogramming(模板元编程) 作者: 译者: 发布: template metaprogramming (TMP)(模板元编程
Item 42: 理解 typename 的两个含义 作者: 译者: 发布: 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?
Item 9: 绝不要在构造或析构期间调用虚函数 我要开始翻新轮胎:你不应该在构造或析构期间调用虚函数,因为这样的调用不会如你想象那样工作,而且它们做的事情保证会让你很郁闷。如果你转为 Java 或
Item 8: 防止因为异常而离开析构函数 C++ 并不禁止从析构函数中引发异常,但是这确实妨碍了实践。至于有什么好的理由,考虑: class Widget { public: ... ~Wi
Item 42: 理解 typename 的两个含义 作者: 译者: 发布: 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?
第二章 构造函数,析构函数与赋值运算符几乎每一个你自己写的类都会有一个或多个构造函数,一个析构函数和一个拷贝赋值运算符。不要惊奇,那是些就像你的面包黄油一样的函数,他们控制着基本的操作,如创建一个新的
Item 4: 确定一个对象在使用前已经被初始化 C++ 看上去在对象的初始化方面变化无常。例如,如果你这样做, int x; 在某些情形下,x 会被初始化(0),但是在其它情形下,也可能没有。如果你
附录 B. 第二和第三版之间的 Item 映射 作者: 译者: 发布: Effective C++ 的第三版在很多方面与第二版不同,其中最引人注目的是它包含很多新的信息。然而,第二版的
Item 28: 避免返回对象内部构件的“句柄” 假设你正在一个包含矩形的应用程序上工作。每一个矩形都可以用它的左上角和右下角表示出来。为了将一个 Rectangle 对象保持