• c++函数模板1


    1 定义:

      函数模板 只适用于参数个数相同但是类型不同 而且函数体相同的情况

    2 这个例子没有使用模板的情况

    #include <iostream>
    
    using namespace std;
    
    void Swap(int &a, int &b)
    {
        int t = a;
        a = b;
        b = t;
    }
    void Swap(double &a, double &b)
    {
        double t = a;
        a = b;
        b = t;
    }
    int main1()
    {
        //long a = 2;
        //long b = 3;
        //Swap(a, b);这样不行
    
        int a = 2;
        int b = 3;
        Swap(a, b);//但是变成double以后不行 为了通用引入模板
        cout << a << b << endl;
        cin.get();
        return 1;
    }

    3 使用模板以后

     1 #include <iostream>
     2 #include <string>
     3 using namespace std;
     4 
     5 /*
     6 函数模板 只适用于参数个数相同但是类型不同 而且函数
     7 体相同的情况 否则不可以
     8 */
     9 template <typename T>//这里typename可以变化为class
    10 void Swap(T &a, T &b)
    11 {
    12     T t = a;
    13     a = b;
    14     b = t;
    15 }
    16 
    17 int main2()
    18 {
    19     int a = 10;
    20     int b = 20;
    21     Swap(a, b);
    22     cout << a << b << endl;
    23 
    24     long c = 10;
    25     long d = 20;
    26     Swap(c, d);
    27     cout << c << d << endl;
    28 
    29     string sa = "hello";
    30     string sb = "zzong";
    31     Swap(sa, sb);
    32     cout << sa << sb << endl;
    33     
    34     cin.get();
    35     return 1;
    36 }

    ----------------------->

  • 相关阅读:
    爬取网页图片
    python 猜数字游戏
    位移运算
    生成随机的名字
    不截半个汉字
    一致性hash的实现
    安装前端脚手架
    什么是快速排序?
    HTML5有趣的标签
    stopPropagation / stopImmediatePropagation
  • 原文地址:https://www.cnblogs.com/lanjianhappy/p/7295585.html
Copyright © 2020-2023  润新知