c++: general q about for-statements and arguments
本问题已经有最佳答案,请猛点这里访问。
我在学习C++的过程中。我遇到一个关于温度的任务,我不明白。你们能为我澄清一些事情吗?
下面是代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // compute mean and median temperatures int main() { vector<double> temps; // temperatures for (double temp; cin>>temp; ) // read into temp temps.push_back(temp); // put temp into vector **// compute mean temperature: double sum = 0; for (int x : temps) sum += x; cout <<"Average temperature:" << sum/temps.size() << ' ';** // compute median temperature: sort(temps); // sort temperatures cout <<"Median temperature:" << temps[temps.size()/2] << ' '; } |
现在第二个数据块(//compute mean temperature)是我无法理解的。
首先,for语句与单个参数一起使用。这不意味着只有一个初始表达式而没有条件吗?
我也不认为我对
1 2 3 4 5 6 7 8 | int sum_of_measurements = 0; //value of all measurements for (int y = 0; y <= temps.size(); ++y){ sum_of_measurements = sum_of_measurements + temps[y]; // add value of measurement to the total for each measurement } double mean = sum_of_measurements/temps.size(); cout << mean <<' '; //rest of code |
这个标识符叫什么,这样我可以了解更多关于它的信息(
谢谢)
这是在
像这样的陈述:
1 | for (int someVal: someCollection) |
将迭代
在您的特定情况下(在将
1 2 3 | double sum = 0; for (double x : temps) sum += x; |
在功能上等同于:
1 2 3 | double sum = 0; for (int i = 0; i < temps.size(); ++i) sum += temps[i]; |