通用模板實現可變引數函式

2022-07-25 04:57:07 字數 559 閱讀 2669

1

//模板

2 template

3t getmax(t a, t b)47

89 template10 t max(t *p, const

intn)

1119}20

return

max;21}

2223

24//

模板實現引數可變函式

25 template 26

t get_sum(t count, t data, ...)

2735

va_end(arg_prt);

36return

sum;

37 }

下面這個是可變引數模板

1

void showall() //

空函式,介面25

6//通用可變引數模板 處理不限定個數的引數,處理不同型別

7 template 8

void

showall(t value, args...args)

9

通用函式可變引數模板

通用可變引數模板 處理不限定個數的引數,處理不同型別 設計可以修改原來的資料的 t value,args args 設計可以修改副本 t value,args args 設計不可以可以改原來的資料不可以修改副本 const t value,const args args 設計引用原來的資料不可以修改...

C 11 可變引數模板實現print輸出引數

c 11支援可變引數模板的特性,真的是很好用。下面 實現的print函式,就利用可變引數模板以及函式模板遞迴呼叫,實現將任意多個不同型別的引數順序輸出列印到std ostream流中。include 終止遞迴函式 inline void args print std ostream steam 使用...

C 通過類模板實現通用型別的陣列函式

通用型別的模板陣列定義如下 template class t class myarray myarray const myarray array myarray 賦值操作符過載 myarray operator myarray array this m capacity array.m capaci...