简介C++函数模板(举例)

/*     C++编程时对于仅仅是参数类型不同的函数,通过使用重载方法,可以使用相同的函数名。这样给我们使用这些函数带来了方便,不用记忆过多的函数名称。例如: */
      #include <iostream>
      using namespace std;
      int myMax(int& a, int& b)
      {
          cout << "参数为int类型的myMax函数被调用..." << endl;
          return (a > b ? a : b);
      }
      long myMax(long &a,long &b)
      {
          cout << "参数为long类型的myMax函数被调用..." << endl;
          return (a > b ? a : b);
       }
      int main()
     {
          int a = 3;
          int b = 5;
          cout <<"结果是" << myMax(a, b) << endl;
          long A = 70000;
          long B = 80000;
          cout << "结果是" << myMax(A,B) << endl;
          system("pause");
          return 0;
       }
/* 运行结果:
    参数为int类型的max函数被调用...
    结果是5
    参数为long类型的max函数被调用...
    结果是80000
    请按任意键继续. . .
*/
/*    但从以上的例子可以看出,我们在使用myMax函数时,虽然不需记着具体调用哪个函数,确实方便;但从编程的角度看,我们毕竟给myMax函数写了两遍代码,增加了代码的长度,代码效率不高。如何解决这个问题,就是本文准备介绍的模板函数。模板函数是用于生成基于类型参数的函数的一种机制,也就是说类型是作为参数传入函数的函数,具体是怎样做到的,下面将前面重载函数的例子用模板函数的方式表示*/
#include<iostream>
using namespace std;
template <typename T> 
T myMax(T a, T b) 
{
    return (a > b) ? a : b;
}
int main()
{
    int a = 3;
    int b = 5;
    cout << "结果是" <<myMax<int>(a, b) <<endl; //<int>可以不写
    long A = 70000;
    long B = 80000;
    cout << "结果是" << myMax<long>(A, B)<< endl;//<long>可以不写
    system("pause");
    return 0;
}
/*
结果是5
结果是80000
请按任意键继续. . .
*/
/*    从myMax函数的代码长度可以看出模板函数在代码简洁方面非常明显,总体上说,涉及的参数类型越多,代码优化的效率越高。这里仅是简单介绍了一下函数模板的入门只是,其深入的内容还有很多,有兴趣的朋友可做深入研究。*/

相关推荐

  1. 简介C++函数模板举例

    2024-02-14 03:26:01       27 阅读
  2. C++ list所有函数举例如何使用】

    2024-02-14 03:26:01       13 阅读
  3. QT c++ 读写锁简单举例

    2024-02-14 03:26:01       16 阅读
  4. 23种设计模式C#代码举例

    2024-02-14 03:26:01       37 阅读
  5. C语言所有字符串函数举例如何使用

    2024-02-14 03:26:01       34 阅读
  6. python 工厂函数举例

    2024-02-14 03:26:01       33 阅读
  7. 时间函数举例2

    2024-02-14 03:26:01       32 阅读
  8. C++】函数模板

    2024-02-14 03:26:01       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-14 03:26:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-14 03:26:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-14 03:26:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-14 03:26:01       20 阅读

热门阅读

  1. 速盾cdn:cdn布置节点需要服务器吗

    2024-02-14 03:26:01       32 阅读
  2. 【个人笔记】计算机网络五层结构理解

    2024-02-14 03:26:01       24 阅读
  3. 前端架构: 简易版脚手架开发

    2024-02-14 03:26:01       34 阅读
  4. 2024/2/8

    2024-02-14 03:26:01       29 阅读
  5. <s-table>、<a-table>接收后端数据

    2024-02-14 03:26:01       29 阅读
  6. 【无标题】

    2024-02-14 03:26:01       28 阅读