Я видел пример реализации пре-инкремента и пост-инкремента, в котором утверждается, что пре-инкремент с перегрузкой может быть определен как
T& T ::operator++()
, а пост-инкремент с перегрузкой может быть определен и реализован с точки зрения преинкремента следующим образом
const T T::operator++(int){
const T old(*this);
++(*this);
return old;
}
у меня есть два вопроса:
1) что означает «старый»?
2) ++ (* this) предполагается использовать пре-инкремент, а исходное определение предварительного приращения не имеет аргументов. Однако здесь есть * this.