我的疑问是关于Increment/Decrement
运算符 ( ++
and --
) 在C
(Also in C++
) 中的使用。在程序中使用++
和是绝对必要的吗?--
例如考虑下面给出的代码,
int x=10;
x++;
这可以很容易地替换如下,
int x=10;
x=x+1;
那么在实际编程中有必要使用++
and吗?--
我问这个是有特殊原因的。在我看来,它们是 中最令人困惑的运算符之一C
,形成诸如*x++
,等表达式++*x
,x++ + ++x
并且每天会导致数千个错误。
当然我知道++
和汇编指令之间的直接映射INCR
是可能的。但我相信任何具有优化能力的体面编译器都可以替换x=x+1
为INCR x
.
所以简而言之,我的问题是“有没有 x=x+1 不能替换 x++ 的情况? ”。
++
如果有人可以提供一段在没有or时无法工作的代码,那可能会很有帮助--
。
有什么建议么?谢谢你。