regex, 库尽量以头文件实现, 但也有并行库这种必须深入编译器的库
用通用而非特殊的手段来实现特性: 显式类型转换
让特性对专家和新手都适用: 统一初始化表达式
增强类型安全: enum class...初始化列表的效果总是慢于就地初始化, 但也快过在构造函数中进行赋值
注意: 非常量的静态变量依然要在头文件外定义从而保证在程序中只存在一个
sizeof()可以对类成员表达式使用了
类模板也可以声明友元了...但显然这种做法损失性能
只要定义中出现了左值引用, 引用折叠规则就会将其变为左值引用, 这是std::forward()的核心原理
编译器优化的时候本身就打开了返回值优化功能, 因此返回右值并不是很必要的事...语法扩展
函数前面加上explict可以防止参数发生隐式类型转换, 用于构造函数和operator中
不要将explict与delete共用, 因为这相当于删去了显式转换版本的函数, 可能会留下默认的隐式转换的实现..., 例如当存在非POD成员且这个成员有非平凡的构造函数时, 这个union的默认构造将被删除
匿名的union对外是开放的, 因此放在类的声明中可以按照构造函数的不同而初始化为不同的类型, 此时类被称为枚举式的类