c++函数模板的多类型和多参数
C++ 中的函数模板可以定义多类型参数和多普通参数,让同一个函数适用于不同的数据类型及参数组合。
多类型参数的函数模板语法如下:
```
template <typename T1, typename T2, ...>
返回值类型 函数名 (参数列表) {
// 函数体
}
```
其中 `T1`, `T2` 为类型参数,可以根据需要定义更多类型参数。在函数体中可以使用类型
参数 `T1`, `T2` 等。
例如,定义一个模板函数 `maxValue()`,返回两个数中较大的值。这个函数模板能够处理各种不同的数据类型,如整型,浮点型等。
```
template <typename T>
T maxValue(T a, T b) {
return a > b ? a : b;
}
```
多参数的函数模板语法如下:
```
template <typename T1, typename T2, ..., typename TN>parameter数据类型
返回值类型 函数名 (T1 arg1, T2 arg2, ..., TN argn) {
// 函数体
}
```
其中 `T1`, `T2`, `TN` 为模板参数,`arg1`, `arg2`, `argn` 为普通参数。在函数体中可以使用模板参数及普通参数。
例如,定义一个模板函数 `sum()`,实现多个数的加法运算。该函数模板有两个模板参数,一个是数据类型 `T` ,另一个是参数个数 `N`。
```
template <typename T, int N>
T sum(T (&arr)[N]) { //使用引用类型防止数组退化为指针
T res = 0;
for (int i = 0; i < N; i++) {
res += arr[i];
}
return res;
}
```
以上是函数模板的多类型和多参数使用方法,可以根据具体的需求进行定义与使用。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论