使用foreach循环C++更新std::列表中的每个值
Update each value in a std::list with a foreach loop C++
我在C++中有一个std::list
,我正在尝试使用for(Type t : list)
操作来更新每个对象的值。所以我有一个名为球的列表,每个球都有一个位置。我的循环代码是:
for(OpenGLView::AssetInstance ball : balls)
ball.position = calculateBallPosition(ball);
其中calculateBallPosition取球并根据经过的时间返回其新位置。
我遇到的问题是,列表中元素的值似乎没有更新。当我在循环运行后检查它们的值时,它和以前一样。我猜我的错误在于理解了这个循环的工作方式,但我还没能弄清楚如何修复它。
您要复制原始对象,请使用引用
for(OpenGLView::AssetInstance& ball : balls)
ball.position = calculateBallPosition(ball);
或者简单的
for( auto& ball : balls)
ball.position = calculateBallPosition(ball);
相关文章:
- 使用简单类型列表实现的指数编译时间.为什么
- 标准是否使用多余的大括号(例如 T{{{10}}})定义列表初始化?
- 初学者C 排序的链接列表使用=操作员进行深层复制
- C 双重链接列表 - 使用pop_back()从尾部删除元素
- 初始化列表:使用C 与Java中的构造函数
- 深层复制和解构器前哨链接列表使用节点
- C++11 lambda捕获列表[=]使用引用
- C++ 指针帮助缺少参数列表使用 &帐户::获取余额
- 我应该对只有 2 个项目的列表使用迭代器吗?
- 错误 1 错误 C3867:"命令::getSecondWord":函数调用缺少参数列表;使用 '&' 创建指向成员的指针
- 填充列表<>使用数组获取错误的数字
- 变量参数列表:使用va_list或形式参数的地址
- 仅为初始化器列表使用命名空间
- C++函数调用缺少参数列表;使用 '&Runner::runTask' 创建指向成员的指针
- 为自定义对象列表使用哪个模型子类/视图
- 日历和做任务列表使用数据结构
- CMAKE:在函数中创建和构建一个列表——使用目录或全局作用域
- 对QModelIndexes列表使用concurrent::map()
- 链接列表:使用递归插入节点
- STL 中的一些问题映射和列表使用 c++ 使用