码迷,mamicode.com
首页 > 编程语言 > 详细

《Effective C++》模板与泛型编程:条款32-条款40

时间:2019-01-03 22:37:49      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:表达   ++   解析   typename   了解   traits   参数类型   code   name   

条款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元编程

《Effective C++》模板与泛型编程:条款32-条款40

标签:表达   ++   解析   typename   了解   traits   参数类型   code   name   

原文地址:https://www.cnblogs.com/narjaja/p/10217107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!