什麼是函式模板?
通過下面的例子,我們來了解一下什麼是函式模板。
假設:我們需要兩個資料交換的函式,例如int資料交換和double資料交換。我們的**實現如下:
#include
using
namespace std;
// int資料交換
void
swapint
(int
& a,
int& b)
// double資料交換
void
swapdouble
(char
& a,
char
& b)
intmain()
我們需要使用兩個函式swapint和swapdouble來實現int資料交換和double資料交換。
如果,我們使用函式模板,只需要乙個函式模板即可,不僅實現了int資料交換和double資料交換,同時,此函式模板還可以實現char資料交換等等。**如下:
#include
using
namespace std;
// 函式模板,將型別作為引數傳遞進來,傳遞int就是int型別交換,傳遞double就是double型別交換
// t是乙個通用的資料型別
template
<
typename t>
// typename 和 class 都是一樣的,用哪個都可以
void
myswap
(t& a,t& b)
intmain()
用模板是為了實現泛型,可以減輕程式設計的工作量,增強函式的重用性。 C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...
C 模板 函式模板和模板函式
1.函式模板的宣告和模板函式的生成 1.1函式模板的宣告 函式模板可以用來建立乙個通用的函式,以支援多種不同的形參,避免過載函式的函式體重複設計。它的最大特點是把函式使用的資料型別作為引數。函式模板的宣告形式為 template 返回型別 函式名 參數列 其中,template是定義模板函式的關鍵字...