初始化列表的效果总是慢于就地初始化, 但也快过在构造函数中进行赋值
注意: 非常量的静态变量依然要在头文件外定义从而保证在程序中只存在一个
sizeof()可以对类成员表达式使用了
类模板也可以声明友元了...3 通用为本, 专用为末
继承构造
为了减少派生类层层透传函数以复用基类代码的情况, 可以在类内用using Base::Func;来获取基类被隐藏的同名成员函数(包括构造函数, 此时被称为继承构造函数...其他构造函数通过带有默认值的委派构造来调用这个目标构造函数
千万小心环形委派, 会导致编译错误
委派构造函数使得构造函数的模板编程也成为一种可能, 通过让模板构造函数成为委派构造函数, 我们可以很容易地接受多种不同类型的参数进行相同的底层初始化...failure, 不会引发error, 直到完成所有尝试
基础来说, SFINEA使得模板实例化的过程在各个编译器上都能表现出一样的效果, 且避免在不相关模板可见时实例化出错误的程序....auto和cv限制符(cv-qualifier, 指const和volatile)一起使用时, auto无法带走变量的cv限制, 因此需要我们额外写清楚对应的限制
auto可以用来在一个表达式中声明多个变量