zoukankan      html  css  js  c++  java
  • C++函数模版的简单使用

    模版算是C++的独有特性吧,也算是C++中比较难的地方,我平时开发的时候用的非常少,或者几乎没有用到,需要模版的地方是能看懂框架中相关的代码;

    模版函数相对还是很简单的,引入模版的目的在于代码的重用;比如算法相似,但是由于数据类型不同,我们不得不把同样的一份代码拷贝两次,而仅仅是为了修改数据类型,那么在引入了函数模版之后,我们可以仅仅用一份代码而表示不同重载函数。

    下面介绍一下最简单的函数模版的应用:

    template <typename T>  //定义一个抽象的数据类型T

    T myMax(T a, T b) {    //声明函数模板

      return a > b ? a : b; 

    }

    int main () {

      int  a = 2;

      int b = 3;

      std::cout<<myMax(a, b)<<std::endl;  //动态生成函数 int myMax(int , int)

      float c = 2.0f;

      float d = 3.0f;

      std::cout<<myMax(c, d)<<std::endl;  //动态生成函数 flota myMax(float, float)

    }

    代码在第一次调用myMax()函数时,其参数都是int型,则编译器推导模板参数T为int,编译器会以函数模板为样板,以实际类型int代替函数模板中的抽象类型T,自动为这个函数调用生成一个int类型的版本。

  • 相关阅读:
    转 Linux查看版本信息及CPU内核、型号等
    freeswitch ODBC error: ODBC NOT AVAILABLE!
    asterisk 命令
    Freeswitch mod 安装
    数据库压缩备份
    IEnumreable的使用小结
    新的Layout布局系统
    前台网站开发手记
    容器服务是如何在高速增长下保持高可用性的
    Kubernetes问题排查流程
  • 原文地址:https://www.cnblogs.com/alex-zhou/p/4218020.html
Copyright © 2011-2022 走看看