C/C++程序基础 (十)模板和泛型

2018-06-17 20:56:26来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  1. 什么是泛型编程
    • 基于模板,有效将算法和数据结构分离。
  2. 模板
    • 包括类型和参数
    • 模板函数:抽象的函数定义,代表一类同构函数。编译器在其调用位置自动完成对应模板函数的实例化。
    • 模板类:抽象的类定义,代表更高形式的抽象。类的实例化由程序员显式指出。
  3. 模板的缺点
    • 不当的使用参数导致代码膨胀。
    • 解决方案:分离模板中与参数无关的代码(继承)。(编译器内部的按需实例化)
  4. 模板特化
    • 函数特化:
      // template <class T>
      template <>
      void compare(char* a, char* b)
      ....
      
    • 类特化:
    • // template <typename T>
      template <>
      class compare<char*>
      ....

       部分模板特化:可以特化一部分或者特化一类情形(T*)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:第13届广东工业大学ACM校赛L-用来作弊的药水

下一篇:贪心算法推导 水题~