1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| // 简单的函数模板
template<typename T>
T max(T a, T b) {
return (a > b) ? a : b;
}
// 使用示例
int i = max(10, 20); // T 为 int
double d = max(3.14, 2.72); // T 为 double
std::string s = max("hello"s, "world"s); // T 为 string
// 多个模板参数
template<typename T, typename U>
auto add(T a, U b) -> decltype(a + b) {
return a + b;
}
// 使用示例
auto result = add(10, 3.14); // 返回类型为double
|