函式模板當引數強化

2022-08-21 21:18:12 字數 694 閱讀 7831

通過對乙個排序演算法的編寫,加深理解函式模板即為:型別的引數化

#includeusing

namespace

std;

//讓字元資料和 int型資料進行排序

template

int mysort(t1*array, t2 size)

for (int i = 0; i < size; i++)}}

return0;

}template

int myprint(t1*array, t2 size)

cout

<

return0;

}int

main()

;

int size = sizeof(myarray) / sizeof(*myarray);

mysort

(myarray, size);

cout

<< "

排序之後

"<

myprint(myarray, size);

}//chra型別語句塊

system(

"pause");

return0;

}

輸出結果:

編寫可變引數函式模板

我們可以使用乙個initializer list來定義乙個可接受可變數目實參的函式。但是,所有實參必須具有相同的型別 或它們的型別可以轉換為同乙個公共型別 可變引數函式通常是遞迴的。第一步呼叫處理包中的第乙個實參,然後用剩餘實參呼叫自身。用來終止遞迴並列印最後乙個元素的函式 此函式必須在可變引數版本...

通用函式可變引數模板

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

可變長函式引數模板

include 通用可變引數模板 處理不限定個數的引數,處理不同型別 void showall 空函式,介面,最後結束遞迴 新版本編譯 強制預留介面 template 可變長度!void showall const t value,const args args 設計可以修改原來的資料的 t val...