在 C++ 中,指定默认值的参数必须放在形参列表的最右端,原因有以下两点:
-
方便编译器实现:
在函数调用时,可以省略某些参数,让编译器使用默认值。编译器在处理这种情况时,会从左到右逐个读取参数。如果默认值的参数放在左边,那么在省略参数时,编译器无法确定哪些参数被省略,从而导致歧义。将默认值的参数放在最右边,可以避免这种歧义,使编译器更容易实现参数的默认值。
-
保持一致性:
如果默认值的参数放在左边,那么在调用函数时,必须按照参数顺序传递实参。这可能会导致不便,因为用户可能会忘记参数的顺序。将默认值的参数放在最右边,可以保持一致性,使函数调用更加灵活和易于理解。
因此,C++ 中的默认参数应该写在形参列表的最后,以确保代码的可读性和易用性。