• <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 發布時間:2020-09-28 23:47 原文鏈接: C++之函數模板的概念和意義(一)

    一、函數模板的引出:

    1、c++中有幾種交換變量的方法:

    (1)定義宏代碼塊

    (2)定義函數

    代碼版本一:

    #include <iostream>
    #include <string>
    using namespace std;
    #define SWAP(t,a,b)  
    do                    
    {                    
        t c =a;          
        a =b;            
        b = c;          
    }while(0)
    int main()
    {
        int a =2;
        int b =5;
        SWAP(int , a , b );
        cout<<"a= "<<a<<endl;
        cout<<"b= "<<b<<endl;
        double m =4;
        double n =6;
        cout<<"m = "<<m<<endl;
        cout<<"n= "<<n<<endl;
        return 0;
    }

    輸出結果:

    root@txp-virtual-machine:/home/txp# ./a.out
    a= 5
    b= 2
    m = 4
    n= 6

    注解:我們看兩個數值交換成功。

    我們再用使用函數的方式來實現這個功能,當然以前我們在c語言里面使用指針傳參方式來實現這種兩個數值直接的交換,現在我們利用c++里面更加高級的方式來實現,就是使用引用來實現(不過它的本質還是指針來實現,只是我們只用引用再不用去考慮指針的細節了)

    代碼版本二:

    #include <iostream>
    #include <string>
    using namespace std;
    void Swap(int& a , int& b )//const int * a ,const int * b '
    {
       int c =a;
       a=b;
       b=c;
    }
    void Swap(double& a,double& b)
    {
       double c =a;
       a=b;
       b=c;
    }
    void Swap( string& a, string& b)
    {
       string c =a;
       a=b;
       b=c;
    }
    int main()
    {
     int a =2;
     int b =5;
     Swap(a,b);
     cout<<"a= "<<a<<endl;
     cout<<"b= "<<b<<endl;
     double m =4;
     double n =6;
     cout<<"m= "<<m<<endl;
     cout<<"n= "<<n<<endl;
     string d = "Txp";
     string t = "xiaoping";
     cout<<"d= "<<d<<endl;
     cout<<"t= "<<t<<endl;
     return 0;
    }


  • <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 调性视频