c - 迭代具有编号名称的对象

标签 c

我实际上试图弄清楚如何在 for 循环中迭代一些名称如“Object1、Object2、Object3...”的对象

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

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

}

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

最佳答案

对于 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;
}

关于c - 迭代具有编号名称的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28786555/

相关文章:

c - 交错开关上的模糊 C 构造

c - pcap_set_buffer_size() 中的问题

c - 为什么 bool 表达式中元素的顺序会改变结果?

c - 如何向 C 词法分析器添加浮点解析功能?

c - 使用动态数组按字母顺序对单词进行排序

c - UDP 套接字的发送方 IP/端口

c - 一个进程写入,而另一个进程读取共享内存

c - 在gdb中调试时如何检查哪个文件声明了变量?

在 C 中使用数组和值调用函数是否已更改?

c - 如何通过C编程实现XMPP上的ssh?