我有一个关于编写循环的问题.我一开始就是
(int i=0; i<10; i++)
Run Code Online (Sandbox Code Playgroud)
但我看到许多专家开始
(int i=0; i<10; ++i)
Run Code Online (Sandbox Code Playgroud)
有没有真正的区别,或者它们是一样的?
当然,我知道预增量和后增量之间的区别.我的意思是在编写循环时我应该使用哪一个?或者取决于.
谢谢!
这两者没有区别.预增量和后增量是唯一的区别.
i++和之间的差异++i是表达式的值.
该值i++是i增量之前的值.值++i是i增量后的值.
但是在你的循环中它没有任何区别.
int i = 0;
00000088 xor edx,edx
0000008a mov dword ptr [ebp-40h],edx
i++;
0000008d inc dword ptr [ebp-40h]
++i;
00000090 inc dword ptr [ebp-40h]
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它在性能上没有任何差别,但在某些情况下,您可能希望在序列点之后或之前增加一个数字.
在C++中++i是一个l值,但i++不是.
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |