是的,C++函數模板可以處理多種數據類型
例如,以下是一個簡單的C++函數模板,它接受兩個參數并返回它們的和:
template <typename T>
T add(T a, T b) {
return a + b;
}
在這個例子中,T
是一個占位符類型,它可以在實例化函數模板時被替換為任何數據類型。當你調用這個函數模板時,編譯器會根據你提供的實際參數類型來生成相應的函數。
例如:
int main() {
int a = 3, b = 4;
double c = 1.5, d = 2.5;
std::cout << "a + b = " << add(a, b) << std::endl; // 調用 int 版本的 add 函數
std::cout << "c + d = " << add(c, d) << std::endl; // 調用 double 版本的 add 函數
return 0;
}
在這個例子中,add
函數模板被實例化成了兩個版本:一個用于處理int
類型,另一個用于處理double
類型。