微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C范围基于循环

尝试使用基于范围的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++;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐