c++,泛型编程:显式指定函数模板形参,<>在函数调用时的作用

本文详细介绍了C++中显式指定模板形参的场景,包括当模板参数无法自动推断、多类型兼容导致的不确定性以及提高代码可读性等。显式指定能避免编译错误,提升代码清晰度,是良好编程习惯的一部分。示例中展示了如何在函数调用时使用`<int, int>`来明确模板类型。
摘要由CSDN通过智能技术生成

c++,泛型编程:显式指定模板形参,<>在函数调用时的作用

需要显式指定在调用函数模板时的参数类型的情况:
1、当模板参数和调用函数没有发生关联时。
2、不能由调用参数决定决定模板参数时。

以及:
3、多个类型放在函数模板中都可以,导致调用的可调用对象(大多数情况下是函数)不确定时。
4、防止别人看不懂函数时。
5、防止自己以后看不懂函数时。

显式指定函数模板形参的语法:

template <typename T>
T max(T const &a, T const &b)
{
	return a < b ? b : a;
}
int ia = 10;
int ib = 100;
cout<<max<int,int>(a,b)<<endl;

1、这里的语法中可以看到,在调用函数模板时,在函数名后,参数列表前的<>区域,就是程序员显式指定函数模板类型参数的区域。
2、一般看到函数名后面,参数列表前面有<>时,我们就可以断定这个函数名是一个函数模板,类名后有<>也可以判断其是类模板。
3、同样的,显式指定函数模板的类型参数时如果出现了一个参数连续检测出多个含义,就会编译报错。

使用显式指定函数模板形参的好处:
1、显示指定函数模板形参有相当重要的必要性和优点,平时的工程开发中应该给所有的泛型编程调用都应该显式指定类型形参。
2、代码清晰,即有在程序员走读过程中感觉到代码调用的清晰,又有编译器在参数选择和推断时的数据类型的清晰选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值