gpt4 book ai didi

c++ - 为什么后增需要复制,而前增不需要

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:07 25 4
gpt4 key购买 nike

我知道这个问题已经讨论过好几次了,但是我找不到解释为什么在后增量操作的情况下需要制作拷贝的帖子。

引用来自 stackoverflow 的回复:

int j = i++; // j will contain i, i will be incremented.
int j = ++i; // i will be incremented, and j will contain i+1.

当考虑后/前增量的定义时,这完全有意义。很多时候比较pre/post increment的性能时说post increment需要做一个copy,increment它并返回copy,而pre-increment只是增加值,不会创建copy。

虽然对比了几十个帖子的性能,但是我实在找不到解释为什么post-increment的时候还要复制。为什么它不返回旧值然后将变量的值递增一个(或者运算符重载的方式),而不是创建一个新对象并返回那个对象。

最佳答案

不同之处在于 someval++ 返回递增之前的 someval ,为此你需要记住 someval 的拷贝。如果原始值未存储在某处,您还可以如何在更新时返回原始值?

关于c++ - 为什么后增需要复制,而前增不需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941980/

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