我的疑问是关于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时无法工作的代码,那可能会很有帮助--。
有什么建议么?谢谢你。