Item 42: 理解 typename 的两个含义 作者: 译者: 发布: 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?
Item 42: 理解 typename 的两个含义 作者: 译者: 发布: 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?
第二章 构造函数,析构函数与赋值运算符几乎每一个你自己写的类都会有一个或多个构造函数,一个析构函数和一个拷贝赋值运算符。不要惊奇,那是些就像你的面包黄油一样的函数,他们控制着基本的操作,如创建一个新的
Item 48: 感受 template metaprogramming(模板元编程) 作者: 译者: 发布: template metaprogramming (TMP)(模板元编程
Item 4: 确定一个对象在使用前已经被初始化 C++ 看上去在对象的初始化方面变化无常。例如,如果你这样做, int x; 在某些情形下,x 会被初始化(0),但是在其它情形下,也可能没有。如果你
附录 B. 第二和第三版之间的 Item 映射 作者: 译者: 发布: Effective C++ 的第三版在很多方面与第二版不同,其中最引人注目的是它包含很多新的信息。然而,第二版的
Item 48: 感受 template metaprogramming(模板元编程) 作者: 译者: 发布: template metaprogramming (TMP)(模板元编程
Item 23: 用非成员非友元函数取代成员函数 想象一个象征 web 浏览器的类。在大量的函数中,这样一个类也许会提供清空已下载成分的缓存。清空已访问 URLs 的历史,以及从系统移除所有 cook
Item 11: 在 operator= 中处理自赋值 当一个对象赋值给自己的时候就发生了一次自赋值: class Widget { ... }; Widget w; ... w = w;
Item 9: 绝不要在构造或析构期间调用虚函数 我要开始翻新轮胎:你不应该在构造或析构期间调用虚函数,因为这样的调用不会如你想象那样工作,而且它们做的事情保证会让你很郁闷。如果你转为 Java 或