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

以上是 为什么可变长度数组不属于C ++标准? 的全部内容, 来源链接: utcz.com/z/355010.html

回到顶部