条款41:了解隐式接口和编译期多态
- class支持显示接口和运行期多态
- class的显示接口由函数的名签式构成(函数名称、参数类型、返回类型)
- class的多态通过virtual函数发生在运行期
- template支持隐式接口和编译期多态
- template的接口是隐式的,由具体的表达式决定
- template的多态是通过其具现化和函数重载解析发生在编译期
//这里接口要求T必须实现operator >这个隐式接口 template<typename T> T max(T a, T b){ return (a > b) ? a : b; }
条款42:了解typename的双重意义
条款43:学习处理模板化基类内的名称
条款44:将与参数无关的代码抽离templates
条款45:运用成员函数模板接受所有兼容类型
条款46:需要类型转换时请为模板定义非成员函数
条款47:请使用traits class表现类型信息
条款48:认识template元编程