c 函式模板1

2021-09-26 08:37:36 字數 528 閱讀 4734

1 定義:

函式模板 只適用於引數個數相同但是型別不同 而且函式體相同的情況

2 這個例子沒有使用模板的情況

#include using

namespace

std;

void swap(int &a, int &b)

void swap(double &a, double &b)

intmain1()

3 使用模板以後

1 #include 2 #include 

3using

namespace

std;45

/*6函式模板 只適用於引數個數相同但是型別不同 而且函式

7體相同的情況 否則不可以8*/

9 template //

這裡typename可以變化為class

10void swap(t &a, t &b)

1116

17int

main2()

18

C 函式模板(1)

如下 所示,幾個函式間在函式體一致或者是相差不大是時,就是資料型別不一樣,如是單獨寫三個函式,會有一點麻煩,這時,提供乙個函式模板 抽離出引數列表中不一樣的部分 會使得編寫過程不至於枯燥繁瑣,也使得後期修改更加方便。int max int a,int b int max double a,doubl...

C 模板實戰1 函式模板

模板本身不是可編譯的 而是用來指導編譯器生成可編譯 的文字。1 函式模板引數 函式模板引數可以根據模板實參自動推導,也就是說可以從實參自動推導的模板引數可以省略書寫,但是要注意以下幾個規則 1 編譯器只根據函式呼叫時給出的實參列表推導模板引數值,與函式引數無關的模板引數無法推導 2 與函式返回值相關...

c 函式模板

include using namespace std template t max t a,t b,t c int main int main int i1 185,i2 76,i3 567,i double d1 56.63,d2 90.23,d3 3214.78,d long g1 67854...