目标C,n ++和++ n之间的区别

Lot*_*tus 2 objective-c increment operator-keyword

在Objective-C中,n ++和++ n之间是否存在差异(例如,在for循环中使用)?

Reg*_*ent 16

++n;在计算表达式n 之前递增值.

n++;递增计算表达式n 的值.

所以比较一下这个结果

int n = 41;
int o = ++n; //n = 42, o = 42
Run Code Online (Sandbox Code Playgroud)

结果如下:

int n = 41;
int o = n++; //n = 42, o = 41
Run Code Online (Sandbox Code Playgroud)

在循环的情况下:

for (int i = 0; i < j; i++) {/*...*/}
Run Code Online (Sandbox Code Playgroud)

但是它没有任何区别,除非你有这样的东西:

for (int i = 0; i < j; x = i++) {/*...*/}
Run Code Online (Sandbox Code Playgroud)

或这个:

for (int i = 0; i < j; x = ++i) {/*...*/}
Run Code Online (Sandbox Code Playgroud)

有人会说:

无论是使用n++还是++n在同一表达式中没有修改(基于n)的第二个(相关)变量都无关紧要.


该规则同样适用于--n;n--;明显.