regex, 库尽量以头文件实现, 但也有并行库这种必须深入编译器的库
用通用而非特殊的手段来实现特性: 显式类型转换
让特性对专家和新手都适用: 统一初始化表达式
增强类型安全: enum class...初始化列表的效果总是慢于就地初始化, 但也快过在构造函数中进行赋值
注意: 非常量的静态变量依然要在头文件外定义从而保证在程序中只存在一个
sizeof()可以对类成员表达式使用了
类模板也可以声明友元了...原因和extern变量一样, 普通的模板只存在于对应文件的.o中, 如果一个模板文件被多个文件实例化就会产生多份重复代码, 没有extern的话此时重复的模板会冲突....有了extern后编译器会自动删除重复的实例化模板, 不但节省内存还节省了多余的实例化时间
注意被其他文件调用的外部模板一定要在要用到的类实例化之前实例化
局部和匿名成员可以作为模板实参了, 但仍要注意匿名类型的声明不能在参数位置...函数模板是根据我们的实参类型在调用时进行特化并实例化的, 具体来说匹配遵循以下步骤:
首先对于一次调用, 编译器查找所有具有此名称的函数和实例化的模板函数表
在这些函数中进行比较, 将不可行的函数剔除,