相关疑难解决方法(0)

++ i和i ++有什么区别?

在C中,使用++i和之间有什么区别i++,哪些应该在for循环的增量块中使用?

c for-loop pre-increment post-increment

818
推荐指数
19
解决办法
96万
查看次数

448
推荐指数
11
解决办法
10万
查看次数


循环中i ++和++ i之间的区别?

是否有差异++i,并i++在一个for循环?它只是一个语法的东西吗?

language-agnostic for-loop pre-increment post-increment

294
推荐指数
10
解决办法
28万
查看次数

C++中的增量 - 何时使用x ++或++ x?

我目前正在学习C++,而且我刚刚学会了增量.我知道你可以使用"++ x"进行增量,然后使用"x ++"进行增量.

不过,我真的不知道何时使用两者中的任何一个...我从来没有真正使用过"++ x",到目前为止,事情总是很好 - 所以,我什么时候应该使用它?

示例:在for循环中,何时优先使用"++ x"?

此外,有人可以确切地解释不同的增量(或减量)如何工作?我真的很感激.

c++ pre-increment post-increment

83
推荐指数
7
解决办法
16万
查看次数

C#中的++ i和i ++之间是否存在任何性能差异?

使用类似的东西是否有任何性能差异

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

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

或者编译器是否能够以这样的方式进行优化,使它们在功能相同的情况下同样快速?

编辑:这是因为我与同事讨论过这个问题,并不是因为我觉得它在任何实际意义上都是有用的优化.它主要是学术性的.

c# performance operators

47
推荐指数
4
解决办法
2万
查看次数

i ++和++ i for for循环(Java)有什么区别?

可能的重复:
循环中i ++和++ i之间的区别?
java中的x ++和++ x有区别吗?

你好,我刚刚开始学习Java,现在我正在进行循环语句.我不明白++ i i ++如何在for循环语句中工作.

我的意思是他们如何在数学运算中工作,如加法和减法.我希望有人会向我解释这一点.

java

26
推荐指数
5
解决办法
25万
查看次数

为什么在语句中的其他地方没有使用值的情况下使用++ i而不是i ++?

我很清楚在C++中

int someValue = i++;
array[i++] = otherValue;
Run Code Online (Sandbox Code Playgroud)

与...相比有不同的效果

int someValue = ++i;
array[++i] = otherValue;
Run Code Online (Sandbox Code Playgroud)

但每隔一段时间我就会在for循环中看到带有前缀增量的语句,或者仅仅是它们自己的语句:

for( int i = 0; i < count; ++i ) {
     //do stuff
}
Run Code Online (Sandbox Code Playgroud)

要么

for( int i = 0; i < count; ) {
    //do some stuff;
    if( condition ) {
        ++i;
    } else {
        i += 4;
    }
}
Run Code Online (Sandbox Code Playgroud)

在后两种情况下,++i看起来像是试图生成看起来很聪明的代码.我在监督什么吗?是否有理由使用++i而不是i++后两种情况?

c++ operators

25
推荐指数
3
解决办法
6475
查看次数

什么更有效,i ++或++ i?

确切重复:在C++中i ++和++ i之间是否存在性能差异?
确切重复:循环中i ++和++ i之间的区别?


什么更有效,i ++或++ i?

我只在Java和C/C++中使用过这个,但我真的要求实现它的所有语言.

在大学里我有一位教授告诉我们++我更有效率,但已经有几年了,我想从Stack Overflow社区获得意见.

c++ java performance pre-increment post-increment

15
推荐指数
4
解决办法
2万
查看次数

i ++比++ i效率低,如何展示?

我试图通过示例显示前缀增量比后缀增量更有效.

理论上这是有道理的:i ++需要能够返回未增加的原始值并因此存储它,而++我可以返回增量值而不存储先前的值.

但是有一个很好的例子可以在实践中证明这一点吗?

我尝试了以下代码:

int array[100];

int main()
{
  for(int i = 0; i < sizeof(array)/sizeof(*array); i++)
    array[i] = 1;
}
Run Code Online (Sandbox Code Playgroud)

我使用gcc 4.4.0编译它,如下所示:

gcc -Wa,-adhls -O0 myfile.cpp
Run Code Online (Sandbox Code Playgroud)

我再次这样做,后缀增量更改为前缀增量:

for(int i = 0; i < sizeof(array)/sizeof(*array); ++i)
Run Code Online (Sandbox Code Playgroud)

在两种情况下,结果都是相同的汇编代码.

这有些出乎意料.似乎通过关闭优化(使用-O0)我应该看到显示概念的差异.我错过了什么?有更好的例子来展示这个吗?

c++ optimization prefix postfix-operator

15
推荐指数
3
解决办法
8836
查看次数