0

我仍然是一个......新手,在 C++ 中。我不知道我要找的东西的名称,但我一直在搜索,但似乎找不到以下问题的答案:我想编写一个程序来声明所需的变量数量。例子:

int a;
cin>>a;

现在,如果“a”是 5(或任何其他数字),我希望程序再声明 5 个变量,名称无关紧要,但假设...n1、n2、n3、n4、n5。我已经尝试过数组和 for 循环,但无法让它工作。我在克罗地亚论坛(forum.hr)上得到了答案,但论坛目前处于离线状态,所以我没有时间尝试......这是关于提前使用堆而不是堆栈Thx

4

3 回答 3

2

C++ 有为此目的的容器类。特别是,你想要一个vector

std::vector<int> a(size);
for (int i = 0; i < a.size(); ++i)
    std::cin >> a[i];

声明一个a具有一定大小的整数向量并一个一个地读取它的元素。

于 2012-10-06T20:52:59.307 回答
1

如果这是 C++,你能做的最好的就是使用std::vector它,因为它会为你管理内存。

于 2012-10-06T20:51:40.447 回答
1

您可以将它们存储在一个数组中:

int a;
cin >> a;

int *number = new int[a];  // allocate an array of size a

for (int i = 0; i < a; i++) {
    number[i] = 5 + i;     // set your numbers to anything here
}

delete[] number;             // otherwise you have memory leak

或更好地使用 a vector

vector<int> number(a);

// iterate with a normal for loop
for (int i = 0; i < number.size(); i++) {
    number[i] = 5 + i;
}

..

// or use iterators
for (vector<int>::iterator it = number.begin(); it != number.end(); ++it) {
    cout << *it << endl;
}

所以你不必管理内存。

于 2012-10-06T20:34:59.710 回答