相关疑难解决方法(0)

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

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

c for-loop pre-increment post-increment

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


是否有相当于C++中的"for ... else"Python循环?

Python有一个有趣的for语句,允许您指定一个else子句.

在像这样的结构中:

for i in foo:
  if bar(i):
    break
else:
  baz()
Run Code Online (Sandbox Code Playgroud)

else子句在之后执行for,但仅在for正常终止时(不是由a break)终止.

我想知道C++中是否有相同的东西?我可以用for ... else吗?

c++ python loops for-loop break

61
推荐指数
5
解决办法
1万
查看次数

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

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


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

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

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

c++ java performance pre-increment post-increment

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

需要更好地理解循环 - 后增量运算符

对于我总是用于循环的post增量运算符,我并不是很清楚.我对post增量运算符的最新和新获得的理解如下:

int a = 5
int b = a++ //a will increment and return back its old value 5
so b = 5
Run Code Online (Sandbox Code Playgroud)

有了这些新知识,我决定理解/应用于我常用的后增量运算符的地方for.现在好像我迷失了,因为理论上我输错了输出

请考虑以下代码

for(int i=0 ; i< 3 ; i++)
{
  std::cout << i; 
}
Run Code Online (Sandbox Code Playgroud)

第一个循环

i starts with 0 which is less than 3 so ( increment by 1 however since its i++ it returns old value 0) 
so cout should display 1 // But it displays 0
Run Code Online (Sandbox Code Playgroud)

第二圈

 i is now 1 which is …
Run Code Online (Sandbox Code Playgroud)

c++ for-loop

14
推荐指数
2
解决办法
1935
查看次数

在for构造中使用size()表示第二个表达式总是坏的吗?

在下面的例子中我应该期望values.size()每次循环都会调用它吗?在这种情况下,引入临时vectorSize变量可能是有意义的.或者现代编译器是否能够通过识别向量大小无法改变来优化调用.

double sumVector(const std::vector<double>& values) {
    double sum = 0.0;
    for (size_t ii = 0; ii < values.size(); ++ii) {
        sum += values.at(ii);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我不关心是否有更有效的方法来对向量的内容求和,这个问题只是在for构造中使用size().

c++

8
推荐指数
4
解决办法
592
查看次数

JavaScript中的i ++和++ i之间是否存在性能差异?

我读过C中的i ++和++ i之间有性能差异吗?:

如果不使用结果值,i ++和++ i之间是否存在性能差异?

JavaScript的答案是什么?

例如,以下哪项更好?

1)

for(var i=0;i<max;i++){
    //code
}
Run Code Online (Sandbox Code Playgroud)

2)

for(var i=0;i<max;++i){
    //code
}
Run Code Online (Sandbox Code Playgroud)

javascript performance operators pre-increment post-increment

8
推荐指数
1
解决办法
2615
查看次数



为什么人们写--i?

可能重复:
C++中的增量 - 何时使用x ++或++ x?

我已经看过像循环中i++常用的东西for.但是当人们使用--而不是++出于某种原因,有些人倾向于写作--i而不是i--.

上次我检查时,它们都工作(至少在JavaScript中).谁能告诉我,如果是这样的话在其他C家族语言,如果是,为什么有些人喜欢--ii--

javascript c++ java language-agnostic operators

4
推荐指数
3
解决办法
470
查看次数