【发布时间】:2017-01-31 18:13:51
【问题描述】:
在 C 及其许多衍生物中,i++ 递增 i 并在递增之前计算为 i 的值,++i 递增 i 并计算为 i 的值 在之后增加了。
我可以看到特定增量运算符的推理;当时许多处理器都有一个特殊的增量操作码,它比加法更快,并且在概念上“增量”与“加法”是不同的想法,理论上让它们以不同的方式编写可能会使代码更具可读性。
我不明白的是需要预增量运算符。这样写就不能有什么实际用途吗?
#This...
x = i++;
#becomes this:
x = i;
++i;
可能有我不知道的历史原因吗?您是否无法“丢弃”原始 C 版本中运算符的返回值?
【问题讨论】:
-
可以编辑此问题以将其纳入范围吗?我很乐意编辑我的答案并添加一些历史背景,但在问题被搁置之前,我没有必要再做任何工作。我还需要知道正在处理哪些增量运算符(请原谅双关语)。
-
This question is being discussed on meta 在这里被删除后是re-asked in a clarified form on Programmers。为了在这些讨论进行期间保持透明,我已在此处取消删除,并将实施临时(1 天)锁定。
标签: c++ c language-design