尝试使用基于范围的for循环执行某些操作.可以使用这样的常规for循环来完成:
vector<double> sensorReadings(3); sensorReadings = {0,0}; for (int i = 0; i < sensorReadings.size();i++) { sensorReadings[i] += i + 100 ; }
我想设置一个向量的第一个元素等于n(在这种情况下为100)并将每个其他元素设置为等于n 1.在这种情况下,在上述循环运行之后,向量是100,101,102,根据需要.我的问题是使用范围基本循环来执行此操作始终将所有元素设置为相同的值.如何将上述循环设置为基于循环的范围?我的尝试如下:
vector<double> sensorReadings(3); sensorReadings = {0,0}; for(double &sensorVal: sensorReadings) { double y = 100; sensorVal = y; y++; } for (double i: sensorReadings) cout << " " << i ;
此循环仅将向量的所有值设置为100
任何帮助都会很棒,谢谢!
解决方法
double y = 100; for(double &sensorVal: sensorReadings) { sensorVal = y; y++; }