C++中函數模板和模板函數的區別
2 回答
POPMUISE
TA貢獻1765條經驗 獲得超5個贊
2.1 函數模板的定義
不管它們的性質如何,所有的函數模板都具有同樣的基本格式:
template<參數說明>
函數頭
函數體
例如,下面是一個2參數的模板的聲明:
template<class T>
T max(T param1 ,T param2)
{
//此處為函數體
}
2.根據上面已定義的模板,編譯器將可生成下面的模板函數(都是對的,函數模板的目的就是函數重載):
char * max(char * a, char * b) //模板函數1
{
return (a>b)?a:b;
}
int max(int a, int b) //模板函數2
{
return (a>b)?a:b;
}
double max(double a, double b) //模板函數2
{
return (a>b)?a:b;
}
嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
函數模板提供了一類函數的抽象,它提供了任意類型為參數及返回值。函數模板經實例化后生成的具體函數成為模板函數。函數模板代表了一類函數,模板函數表示某以具體函數。
- 2 回答
- 0 關注
- 654 瀏覽
添加回答
舉報
0/150
提交
取消
