C++模板参数是否显示指定

编译器不会为函数模板生成目标代码,在调用一个函数模板时,虽然用的是模板名,但实际上被调用的并不是抽象的函数模板,而是由函数模板生成的实例函数。

例:

int a;
outputArray(a, A_COUNT);

这里虽然没有明确的给出模板参数,但实际上被调用的是函数模板的实例outputArray<int>,之所以不需要像引用类模板实例时那样明确的指定函数模板参数,是因为编译器可以根据函数调用的实参类型自动推导出函数模板的参数。

当然,显示的指定函数模板的参数也是被允许的,例:

outputArray<int>(a, A_COUNT);

调用函数模板时的模板参数在多数情况下都可以省去,但在通过函数实参类型无法推断出模板参数类型时,必须显式的指定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值