获取在作用域中声明的所有变量 - C ++

时间:2014-08-25 18:22:33

标签: c++ variables

是否可以在C ++中创建一个结构或类来获取C ++中作用域内声明的已定义变量的列表。我不想对这些数组进行硬编码。

例如,我有:

int a;
int b;
int c;
int d;

如何让我的程序打印出程序中所有整数的内容?

我希望能够在程序中找到增加1的整数。 (allints)++?

3 个答案:

答案 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);

我已经发布了自己的答案,因为你们没有想过这种方法,但是我已经给你好评了。