我仍然是...新手,用c ++。 我不知道我要找的名字但是 我一直在搜索,但似乎无法找到以下问题的答案: 我想编写一个程序来声明所需的变量数。 例如:
int a;
cin>>a;
现在如果“a”是5(或任何其他数字),我希望程序再声明5个变量, 名字没关系,但让我们说... n1,n2,n3,n4,n5。 我已经尝试过数组和for循环,但无法让它工作。 我在克罗地亚论坛(forum.hr)上得到了答案,但该论坛目前处于离线状态,所以我没有 是时候试一试了...... 它是关于使用堆而不是堆栈 Thx提前
答案 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
,因为它会为你管理内存。