函数模板
函数模板还可以处理多个通用数据类型。 使用逗号分隔需定义的数据类型。
让我们来创建一个包含多种不同数据类型的参数(一个int和一个double)的函数,然后打印一个较小的值。
template <class T, class U>
正如你所看到的,这个模板声明了两个不同的通用数据类型T和U.
现在我们可以继续我们的函数声明:
template <class T, class U>
T smaller(T a, U b) {
return (a < b ? a : b);
}
(a < b ? a : b)三元运算符用法,检查a<b,如果条件成立返回a,否则返回b
用两个参数来声明一个函数模板small(),然后返回一个较小的参数。参数分别是模板类型“F”和“S”。
template <class F,class S>
F smaller(F a,S b){
return (a<b?a:b)
}
在main中,我们可以使用不同数据类型的函数:
template <class T, class U>
T smaller(T a, U b) {
return (a < b ? a : b);
}
int main () {
int x=70;
double y=69.99;
cout << smaller(x, y) << endl;
}
// 输出 69
最后输出是int型的,因为我们在调用函数模板的时候声明了int型函数。
声明一个int型变量和一个 double型变量,并将它们传递给函数模板small,并输出返回值。
template <class T,class U>
T small(T a,U b){
return(a<b?a:b);
}
int main(){
int a=18;
doubule b = 18.8;
cout<<small(a,b)<<endl;
}
上述例子中的T仅仅只是一个参数名,type的缩写。在定义参数的时候你可以取一个你自己适用的名字。
但是要记住,当你定义了一个模板参数后,你必须在函数定义中使用它,不然编译器会报错。
文章评论
אני מאוד ממליץ על אתר הזה כנסו עכשיו ותהנו ממגוון רחב של בחורות ברמה מאוד גבוהה. רק באתר ישראל נייט לאדי <a href="https://romantik69.co.il/">נערות ליווי</a>