>我在 c++ 中遇到了类似于以下内容的代码,我不确定它到底是做什么的。
*x++ = *y++;
x
和y
是对uint32
的引用。
我知道++
是后增量运算符,并且*
取消引用,但仍然不确定这到底是做什么的。
C++标准 - 7.6.1.6 递增和递减 expr.post.incr
表达式*x++ = *y++;
将后缀运算符++
应用于从*x = *y;
进行赋值后x
和y
的每个指针。本质上,每个操作数的值是应用任何增量之前的值。增量在值计算后应用。
标准语言是:
1 后缀
++
表达式的值是其操作数的值。[注1:获得的值是原始值的副本。 注]
操作数应为可修改的右值。操作数的值 对象已修改 (defns.access) 通过将 1 添加到 它。++ 表达式的值计算在 操作数对象的修改。...
2 后缀
--
的操作数递减类似于 后缀++
运算符。
7.6.1.6 递增和递减 - expr.post.incr
C 标准中的等效部分是 6.5.2.4 后缀递增和递减运算符
如果您有任何其他问题,请告诉我。