重载前增量和后增量

use*_*099 8 c++ operator-overloading

我看到了一个关于实现预增量和后增量的示例,它声称可以将重载预增量定义为

T& T ::operator++()
Run Code Online (Sandbox Code Playgroud)

并且可以按照预增量来定义和实现过载后增量,如下所述

const T T::operator++(int){
  const T old(*this);
  ++(*this);
  return old;
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

1)"旧"是什么意思?

2)假设++(*this)使用预增量,原始预增量定义没有参数.但是,这里有*.

Mar*_*lon 2

“老”是什么意思?

该方法是后增量。返回当前值(“旧值”),然后该值递增(“新值”)。

++(*this) 假定使用预自增,并且原始预自增定义没有参数。然而,这里有*this。

*this不是一个论据。括号不是必需的,它们是为了可读性而存在的。
它相当于++*this.