Tag: 预增量

string串联时递增

这是我的代码: $a = 5; $b = &$a; echo ++$a.$b++; 不应该打印66? 为什么打印76?

++我或我++的for循环?

可能重复: 在C ++中,i ++和++ i之间有性能差异吗? 有没有什么原因,一些程序员写的++i在一个正常的循环,而不是写i++ ?

++ Var和Var ++之间的区别

在编程方面,特别是在Java中,有什么区别: int var = 0; var++; 和 int var = 0; ++var; 这对循环会有什么影响? 例如 for (int i = 0; i < 10; i++) {} for (int i = 0; i < 10; ++i) {}

在C ++中增加 – 何时使用x ++或++ x?

我目前正在学习C ++,而前一段时间我也学习了这个增量。 我知道你可以使用“++ x”来使之前的增量和“x ++”来完成。 不过,我真的不知道什么时候使用这两种…我从来没有真正使用过“++ x”,而且到目前为止,事情一直很好 – 所以,我应该什么时候使用它? 例如:在for循环中,何时最好使用“++ x”? 另外,有人可以解释不同的增量(或递减)是如何工作的? 我真的很感激。

为什么“while(i ++ <n){}”明显慢于“while(++ i <n){}”

显然,在我的Windows 8笔记本电脑上安装了HotSpot JDK 1.7.0_45(所有编译器/虚拟机选项设置为默认),下面的循环 final int n = Integer.MAX_VALUE; int i = 0; while (++i < n) { } 至less快两个数量级(〜10ms对比~5000ms): final int n = Integer.MAX_VALUE; int i = 0; while (i++ < n) { } 在写一个循环来评估另一个不相关的性能问题时,我碰巧注意到了这个问题。 ++i < n和i++ < n之间的差异足够大,可以显着影响结果。 如果我们看字节码,更快版本的循环体是: iinc iload ldc if_icmplt 而对于较慢的版本: iload iinc ldc if_icmplt 因此,对于++i < n ,它首先将局部variablesi递增1,然后将其推到操作数栈上,而i++ […]

C#前后增量混淆

我对C#编译器如何处理前后增量和递减有点困惑。 当我编码如下: int x = 4; x = x++ + ++x; x之后会有10的值。 我认为这是因为预增量将x设置为5 ,这使得5+5评估为10 。 然后后增加将更新x为6 ,但是这个值将不会被使用,因为那么10将被分配给x 。 但是当我编码: int x = 4; x = x– – –x; 那么x会在2之后。 任何人都可以解释为什么是这样的情况?

增量逻辑

我试图更深入的后置和预增量器,但有点卡住了下面的expression式: public static void main(String[] args) { int i = 0; i = i+=(++i + (i+=2 + –i) – ++i); // i = 0 + (++i + (i+=2 + –i) – ++i); // i = 0 + (1 + (3 + 2) – 1); // i = 0 + (6 – 1); System.out.println(i); // Prints […]

函数参数中的预增和后增的操作顺序?

我有一些C代码: main() { int a=1; void xyz(int,int); xyz(++a,a++); //which Unary Operator is executed first, ++a or a++? printf("%d",a); } void xyz(int x,int y) { printf("\n%d %d",x,y); } 函数xyz有两个传入的参数, ++a和a++ 。 有人能解释一下操作的顺序来解释结果吗? 上面的代码根据使用哪个编译器打印“3 13”或“2 23”。

什么是更有效的i ++或++我?

精确重复 : 在C ++中,i ++和++ i之间是否存在性能差异? 完全重复 : 在循环中的i ++和++之间的区别? 什么是更有效的i ++或++我? 我只在Java和C / C ++中使用过,但是我确实要求所有的语言都是这样实现的。 在大学里,我有一位教授向我们展示了++,我的效率更高,但已经有几年了,我想从SO社区获得意见。

后增和前增概念?

我不明白后缀和前缀增量或减量的概念。 任何人都可以提供更好的解释?