【发布时间】:2019-04-17 04:16:39
【问题描述】:
如果我想打印带有n 元素数量的single dimensional array。我可以将array 初始化为array[n] 吗?
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
int n;
std::cout << "Please enter the number of elements (n): ";
std::cin >> n;
int array[n];
for (int i = 0; i <= n; i++) {
std::cin >> array[n];
}
return 0;
}
【问题讨论】:
-
1) 如果您想开发可移植代码:不,因为 VLA 是非标准 C++(尽管某些编译器扩展支持它们)。 2) 只需使用
std::vector。 -
即使您可以在 C++ 中使用 VLA(又名
int array[n]) - 您不能这样做,基于 C++ 的数组索引为零。因此,打印带有n元素的数组需要从0迭代到n-1(例如for (int i = 0; i < n; ++i) ...)。循环中的<=表示循环结束。
标签: c++ arrays for-loop arraylist