c++模板函数
时间: 2023-10-18 17:10:34 浏览: 58
C++模板函数是一种通用的函数,可以用于处理不同的数据类型。模板函数的语法如下:
```c++
template <typename T>
返回值类型 函数名(参数列表)
{
// 函数体
}
```
其中,`typename T`是模板参数,可以是任何数据类型(例如`int`、`double`、`string`等)。在函数定义中,使用`T`代表模板参数,可以在函数体中使用。
下面是一个简单的模板函数示例,用于比较两个数的大小:
```c++
template <typename T>
T max(T x, T y)
{
return x > y ? x : y;
}
```
在这个示例中,`max`函数使用了模板参数`T`,可以处理不同类型的数据。例如,`max(1, 2)`返回`2`,`max(1.0, 2.0)`返回`2.0`,`max("hello", "world")`返回`"world"`。
调用模板函数的方式与普通函数相同,只需要在函数名后面加上尖括号`<>`,并在其中指定模板参数的类型。例如,调用`max`函数可以这样写:
```c++
int a = 1, b = 2;
int c = max<int>(a, b); // c = 2
double x = 1.0, y = 2.0;
double z = max<double>(x, y); // z = 2.0
string s1 = "hello", s2 = "world";
string s3 = max<string>(s1, s2); // s3 = "world"
```
注意,模板函数在编译时才会实例化为具体的函数,因此需要保证函数的实现对于所有可能的数据类型都是正确的。如果模板函数的实现存在错误,可能会导致编译错误或运行时错误。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)