无论是使用重载还是默认参数,通常都是一种品味问题.在这种情况下,选择超载(由委员会,亚历山大斯捷潘诺夫或任何碰巧负责选择的人).
默认值比重载更有限.例如,你可以有一个指向第一个重载的函数指针T(*)(InputIterator,InputIterator,T),如果只有一个带有4个参数的函数(模板),这将是不可能的.这种灵活性可以用作在可能的情况下使用重载而不是默认参数的参数.