要想同时定义前置和后置运算符,必须首先解决一个问题,即普通的重载形式无法区分这两种情况。前置和后置版本使用的是同一个符号,意味着其重载版本所用的名字将是相同的,并且运算对象的数量和类型也相同。
为了解决这个问题,后置版本接受一个额外的(不被使用) int类型的形参。当我们使用后置运算符时,编译器为这个形参提供一一个值为0的实参。尽管从语法上来说后置函数可以使用这个额外的形参,但是在实际过程中通常不会这么做。这个形参的唯一作用 就是区分前置版本和后置版本的函数,而不是真的要在实现后置版本时参与运算。
C++ 重载前置和后置++/--运算符
最新推荐文章于 2025-03-14 19:38:31 发布