为什么在C中累积有两个模板定义

前端之家收集整理的这篇文章主要介绍了为什么在C中累积有两个模板定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么在使用一个模板(具有binaryOperation且默认值为sum)的作业完成作业时,C中的累积有两个模板定义?
我指的是 http://www.cplusplus.com/reference/numeric/accumulate/的累积声明

解决方法

因为这就是指定标准的方式.

无论是使用重载还是默认参数,通常都是一种品味问题.在这种情况下,选择超载(由委员会,亚历山大斯捷潘诺夫或任何碰巧负责选择的人).

默认值比重载更有限.例如,你可以有一个指向第一个重载的函数指针T(*)(InputIterator,InputIterator,T),如果只有一个带有4个参数的函数(模板),这将是不可能的.这种灵活性可以用作在可能的情况下使用重载而不是默认参数的参数.

猜你在找的C&C++相关文章