我有一个std::listC++,我正在尝试使用一个
for(Type t : list)
操作来更新每个对象的值.所以我有一个名为球的名单,每个球都有一个位置.我的循环代码是:
for(OpenGLView::AssetInstance ball : balls)
ball.position = calculateBallPosition(ball);
Run Code Online (Sandbox Code Playgroud)
其中calculateBallPosition接受球并根据经过的时间返回其新位置.
我遇到的问题是列表中的元素的值似乎没有更新.当我在循环运行后检查它们的值时,它与之前的相同.我猜我的错误在于理解这个循环的工作方式,但我还没弄清楚如何修复它.