我怀疑Increment/Decrement运算符(++和--)在C(也在)中的用法C++.它是绝对必要的使用++,并--在节目?例如,考虑下面给出的代码,
int x=10;
x++;
Run Code Online (Sandbox Code Playgroud)
这可以很容易地替换如下,
int x=10;
x=x+1;
Run Code Online (Sandbox Code Playgroud)
因此,它是需要使用++并--在实际编程?我是出于特殊原因问这个问题.在我看来,他们是在最混乱的运营商之一C,形成了类似表述*x++,++*x,x++ + ++x等,每天造成几千人的错误.
当然,我知道可以++在大会指令之间进行直接映射INCR.但我相信,任何像样的编译器优化可以取代一些能力x=x+1有INCR x.
所以简而言之,我的问题是" 是否存在x = x + 1无法取代x ++的情况? ".
如果有人可以提供一段在没有++或没有的情况下无法工作的代码,这可能会非常有用--.
有什么建议?谢谢.
小智 11
有什么情况
x = x + 1不能替换x++?
当然,foo(x = x + 1)不同于foo(x++)因为x = x + 1产生新的价值x并x++产生旧的价值x.
除此之外,还有没有太大的区别,并严格++和--不需要的(即你可以编写所有的程序x += 1,而不是++x和x -= 1代替--x).
请注意,在C++ operator++和operator--可以被重载并且特别有用的操纵迭代时.
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |