繁体   English   中英

获取在范围中声明的所有变量-C ++

[英]Getting all variables declared in a scope - C++

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

例如,我有:

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

如何获得程序以打印出程序中所有整数的信息?

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

在某个阶段,您需要对其进行硬编码。 您可以创建一个包含int的类,并创建一个自动将其全部递增的函数。

就像是:

class allints {
    int a, b, c, d;
    public:
        void autoincrement() {
            ++a, ++b, ++c, ++d;
        }
}

或者只是一个整数向量,并将其循环以自动递增,如下所示:

allints = vector<int> (4, 0); //size 4, at the start value of 0.

void autoincrement(vector<int> v) {
    for(int i: v) ++i;
}

编辑:

注意到您将使用结构或类,只需将它们分组在一个向量中并对其进行迭代(例如我上面的第二个示例)

如果需要遍历一堆相同类型的对象,则通常使用的数据结构是数组(旧式)或某种类型的集合,这取决于诸如唯一性,分类性等次要要求(新式)。 这将与内置类型的数组以及结构数组一起使用。

在类构造函数中,我执行vectorofPlatforms.pushback(this);

我已经发布了我自己的答案,因为你们都没有想到过这种方法,但是我为您的好答案表示支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM