为什么可变长度数组不属于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