gpt4 book ai didi

c++ - 重载前增量和后增量

转载 作者:可可西里 更新时间:2023-11-01 17:52:27 26 4
gpt4 key购买 nike

我看到一个关于实现pre-increment和post-increment的例子,它声称重载pre-increment可以定义为

T& T ::operator++()

重载post-increment可以按照pre-incremet定义和实现如下

const T T::operator++(int){
const T old(*this);
++(*this);
return old;
}

我有两个问题:

1)“旧”是什么意思?

2)++(*this) 假定使用预自增,原预自增定义没有参数。但是,这里有 *this。

最佳答案

what does "old" mean?

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

++(*this) is assumed to use the pre-increment, and the original pre-increment definition does not have argument. However, it has *this here.

*this 不是参数。括号不是必需的,它们是为了便于阅读。
它等同于 ++*this

关于c++ - 重载前增量和后增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com