迭代具有编号名称的对象

时间:2015-02-28 20:32:56

标签: c

我实际上是想弄清楚如何在for循环中迭代一些对象,其名称如“Object1,Object2,Object3 ......”

这是一个代码,以举例说明我正在尝试做的事情:

for(int i = 0; i <= numberOfObjects; i++) {
   someVariable = Object1.value/Object2.value/Object3.value; 

}

在这种情况下,在我拥有Object1,Object2和Object3的代码部分中,我将更改某些内容,例如Object [i]。 在这种情况下,它不能用数组完成,因为我不知道创建了多少对象。

2 个答案:

答案 0 :(得分:2)

对于C ++语言

将对象放入std::vector
你的循环看起来像:

for (unsigned int i = 0; i < object_vector.size(); ++i)
{
  result = result / object_vector[i].value;
}

对于C语言

object my_objects[] = {object1, object2, /*...*/};
array_size = sizeof(my_objects) / sizeof(object);
for (unsigned int i = 0; i < array_size; ++i)
{
  result = result / my_objects[i].value;
}

答案 1 :(得分:0)

使用数组:

std::vector<T> objects{Object1, Object2, Object3};
for (auto&& x : objects) {
   someVariable = x.value; 
}

没有其他办法可以做到。