为什么可变长度数组不属于C ++标准?
不得不在堆栈上创建一个潜在的大型阵列(通常只有很少的可用空间)是不好的。如果事先知道大小,则可以使用静态数组。而且,如果您事先不知道大小,您将编写不安全的代码。可变长度数组不能原生包含在C++中,因为它们将需要对类型系统进行大量更改。
C++STL(向量)提供了C++中可变长度数组的替代方法。您可以像这样使用它-
示例
#include<iostream> #include<vector> using namespace std; int main() { vector<int> vec; vec.push_back(1); vec.push_back(2); vec.push_back(3); vec.push_back(4); vec.push_back(5); //...- //要遍历它: for(vector<int>::iterator it = vec.begin(); it != vec.end(); it++) { cout << *it << endl; } return 0; }
输出结果
这将给出输出-
1 2 3 4 5