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类型的版本。

  • 相关阅读:
    ASP与sql存储过程
    SharpWebMail介绍和安装(转)
    安全编程: 验证输入
    【转】 数据库备份与还原处理
    权限管理设计、分析、实现参考资料
    权限设计
    提高查询速度方法总结
    乱七八糟知识点
    阿里分布式事务框架Seata原理解析
    分布式事务
  • 原文地址:https://www.cnblogs.com/alex-zhou/p/4218020.html
Copyright © 2011-2022 走看看