使用vscode開發Tampermonkey油猴指令碼
定義
函式模板是一種特殊的函式,可以使用不同的型別進行呼叫,對於功能相同的函式,不需要重複編寫程式碼,並且函式模板與普通函式看起來很類似,區別就是型別可以被引數化
函式模板定義形式
template < 型別形式引數表 >
型別形式引數的形式為:
typename T1 , typename T2 , …… , typename Tn
或 class T1 , class T2 , …… , class Tn
函式模板通過template與typename兩個關鍵字來定義,如下:
//template 告訴C++編譯器 我要開始泛型程式設計了 .看到T, 不要隨便報錯
template <typename T>
void myswap(T &a, T &b)
{
T c = 0;
c = a;
a = b;
b = c;
cout << "hello ....我是模板函式 歡迎 calll 我" << endl;
}
template關鍵字用於宣告開始泛型程式設計,typename關鍵字用於宣告泛型型別。
呼叫
呼叫函式模板的兩種形式:
1、顯示呼叫如:myswap<float>(a, b);
2、自動資料型別推導如:myswap(a, b);
舉例:
#include
using namespace std;
template <typename T>
void myswap(T &a, T &b)
{
T c = 0;
c = a;
a = b;
b = c;
cout << "hello ....我是模板函式 歡迎 calll 我" << endl;
}
int main()
{
int x = 10;
int y = 20;
myswap<int>(x, y); //1 函式模板 顯示型別 呼叫
myswap(x, y);
printf("x:%d y:%d \n", x, y);
}
執行結果: