将多个计算放入使用基于迭代次数的变量的 for 循环中
Putting multiple calculations into a for-loop that uses variables based on iteration number
将以下内容组织成一个迭代 X 次但需要根据迭代次数更新变量(速度、当前姿势、目标点)的 for 循环的最佳方法是什么?
velocity1 = computeVelocity(currentPose1, targetPoint1);
velocity2 = computeVelocity(currentPose2, targetPoint2);
...
velocityX = computeVelocity(currentPoseX, targetPointX);
理想情况下,for 循环如下所示:
for (int i=0; i<X; i++)
{
velocity_i = computeVelocity(currentPose_i, targetPoint_i);
}
由于对于每个velocity
,都会有一个相关的(并且可能是不同的)currentPose
和targetPoint
,一种方法是将所有这些变量作为std::vector
s,或者std::array
如果您在编译时知道必须存储多少项。那么你的循环可能看起来像这样:
for (int i=0; i<X; i++)
{
velocity[i] = computeVelocity(currentPose[i], targetPoint[i]);
}
我不认为希望i
成为变量名称的一部分是可行的(尽管可能有一些方法可以使用预处理器宏和#
连接运算符来做到这一点,但我还没有考虑过),也不通常是C++代码。
对于C++程序员来说,vector
/array
方法是更自然的方法。
相关文章:
- 如何在 c++ 中将字符串迭代器变量传递给函数?
- C++ Code 在 for 循环期间不会累积变量中的总和,仅提供最终迭代值
- 需要循环帮助以迭代方式添加到程序集中的总和变量
- 迭代器或反向器的一个变量
- ActorItr 迭代器变量中有什么,* ActorItr 返回什么?
- 如何在每次迭代后在循环中获取变量的值?
- 从迭代器转换为变量的类型.(C++11 模板)
- 从 for 循环的每次迭代创建一个新变量
- 增加迭代变量背后的直觉?
- 如何在C++中迭代非常量变量?
- 将多个计算放入使用基于迭代次数的变量的 for 循环中
- 如何将迭代器变量声明为私有成员变量
- 让宏将迭代参数传递到通过宏变量提供的代码体中
- 在每次迭代中显示变量
- C :我可以将成员变量的迭代器带入班级之一
- 为什么我需要在每次迭代使用字符串流变量的循环时清除该变量
- C++ 列表中的对象变量在迭代过程中不会更新
- 作为变量的目录迭代器值
- 迭代:变量和矢量前沿的总和,导出到另一个矢量,擦除矢量前沿
- 如何迭代变量