程序自己声明变量

时间:2012-10-06 20:31:00

标签: c++ variables variable-declaration

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

int a;
cin>>a;

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

3 个答案:

答案 0 :(得分:2)

为此目的

C++ has container classes。特别是,您需要vector

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

声明某个大小的整数向量a并逐个读取其元素。

答案 1 :(得分: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

或更好地使用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;
}

所以你不必管理记忆。

答案 2 :(得分:1)

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