用i ++或++ i编写循环

Non*_*uch 0 c c++

我有一个关于编写循环的问题.我一开始就是

(int i=0; i<10; i++)
Run Code Online (Sandbox Code Playgroud)

但我看到许多专家开始

(int i=0; i<10; ++i)
Run Code Online (Sandbox Code Playgroud)

有没有真正的区别,或者它们是一样的?

当然,我知道预增量和后增量之间的区别.我的意思是在编写循环时我应该使用哪一个?或者取决于.

谢谢!

Sad*_*que 5

这两者没有区别.预增量和后增量是唯一的区别.

i++和之间的差异++i是表达式的值.

该值i++i增量之前的值.值++ii增量后的值.

但是在你的循环中它没有任何区别.

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++不是.