初始化列表的效果总是慢于就地初始化, 但也快过在构造函数中进行赋值
注意: 非常量的静态变量依然要在头文件外定义从而保证在程序中只存在一个
sizeof()可以对类成员表达式使用了
类模板也可以声明友元了...(friend T;)
函数声明的尾部加上final可以阻止后续派生类的覆盖, 函数声明的尾部加上override可以强制派生类进行覆盖
模板函数也可以有默认参数了, 且不一定要和模板类一样从右到左指定...3 通用为本, 专用为末
继承构造
为了减少派生类层层透传函数以复用基类代码的情况, 可以在类内用using Base::Func;来获取基类被隐藏的同名成员函数(包括构造函数, 此时被称为继承构造函数..., 这个union被称为变长成员
内联名字空间
namespace嵌套namespace后, 调用内部内容可能很繁琐
如果用using打开一些内层的空间又可能与模板编程冲突, 因为模板不允许不同名称空间的名字在模板中特化...failure, 不会引发error, 直到完成所有尝试
基础来说, SFINEA使得模板实例化的过程在各个编译器上都能表现出一样的效果, 且避免在不相关模板可见时实例化出错误的程序.