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