是否可以在C ++中创建一个结构或类来获取C ++中作用域内声明的已定义变量的列表。我不想对这些数组进行硬编码。
例如,我有:
int a;
int b;
int c;
int d;
如何让我的程序打印出程序中所有整数的内容?
我希望能够在程序中找到增加1的整数。 (allints)++?
答案 0 :(得分:2)
在某个阶段,您需要对其进行硬编码。 您可以创建一个包含您的整数的类,并创建一个自动递增的函数。
类似的东西:
class allints {
int a, b, c, d;
public:
void autoincrement() {
++a, ++b, ++c, ++d;
}
}
或者只是一个int的向量并将其循环到自动增量,如下所示:
allints = vector<int> (4, 0); //size 4, at the start value of 0.
void autoincrement(vector<int> v) {
for(int i: v) ++i;
}
修改强>
注意到你将使用结构或类,只需将它们分组到一个向量中并迭代它们(就像我上面的第二个例子)
答案 1 :(得分:2)
如果需要迭代一堆相同类型的对象,则使用的典型数据结构是数组(旧学校)或某种类型的集合,具体取决于二级要求,如唯一性,排序等。(新学校) )。这适用于内置类型的数组以及结构数组。
答案 2 :(得分:1)
在类构造函数中,我执行vectorofPlatforms.pushback(this);
我已经发布了自己的答案,因为你们没有想过这种方法,但是我已经给你好评了。