Questions tagged «post-increment»

对于与定义或执行后递增操作有关的问题。





17
“ x = x ++”之后的x是什么?
执行此操作后(幕后)会发生什么? int x = 7; x = x++; 也就是说,何时在一个语句中对变量进行后递增并分配给自己?我编译并执行了这个。即使整个陈述之后x仍然是7 。在我的书中,它说是递增的!x

5
C中* ptr + = 1和* ptr ++之间的区别
我刚开始研究C,在做一个有关将指针传递为函数参数的示例时,我发现了一个问题。 这是我的示例代码: #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = i; } } return ptr; } void increasePointer(int** ptr){ if (ptr != NULL){ *ptr += 1; /* <----------------------------- This is line 16 …


10
在C ++中递增-何时使用x ++或++ x?
我目前正在学习C ++,不久前我已经了解了增量。我知道您可以使用“ ++ x”在之前进行增量,然后使用“ x ++”在之后进行增量。 不过,我真的不知道什么时候使用这两种方法中的任何一种...我从来没有真正使用过“ ++ x”,并且到目前为止一切正常,因此,我什么时候应该使用它? 示例:在for循环中,何时最好使用“ ++ x”? 另外,有人可以确切解释不同的增量(或减量)如何工作吗?我真的很感激。

5
为什么“ while(i ++ <n){}”比“ while(++ i <n){}”显着慢
显然,在装有HotSpot JDK 1.7.0_45(并将所有编译器/ VM选项设置为默认值)的Windows 8笔记本电脑上,以下循环 final int n = Integer.MAX_VALUE; int i = 0; while (++i &lt; n) { } 比以下速度至少快两个数量级(〜10 ms与〜5000 ms): final int n = Integer.MAX_VALUE; int i = 0; while (i++ &lt; n) { } 我在编写循环以评估另一个不相关的性能问题时碰巧注意到了这个问题。之间的差异++i &lt; n和i++ &lt; n是巨大的,足以显著影响结果。 如果我们查看字节码,则较快版本的循环主体为: iinc iload ldc if_icmplt 对于较慢的版本: iload …

2
指针指向的int的增量值
我有一个int指针(即int *count),我想通过使用++运算符来增加所指向的整数。我以为我会打电话给: *count++; 但是,我得到了一个构建警告“表达式结果未使用”。我可以打电话 *count += 1; 但是,我也想知道如何使用++运算符。有任何想法吗?


3
为什么(++ i)++有效,“ ++ i ++”无效?
让我们考虑以下代码: int main() { int i = 2; int b = ++i++; return 3; } 编译时出现以下错误: &lt;source&gt;: In function 'int main()': &lt;source&gt;:3:16: error: lvalue required as increment operand 3 | int b = ++i++; | ^~ 这对我来说听起来很公平。后缀递增的优先级高于前缀递增的优先级,因此代码被解析为int b = ++(i++);,i是一个右值。因此,错误。 现在,让我们考虑带有括号的此变体,以覆盖默认优先级: int main() { int i = 2; int b …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.