为什么可变长度数组不属于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;
}
输出结果
这将给出输出-
12
3
4
5
以上是 为什么可变长度数组不属于C ++标准? 的全部内容, 来源链接: utcz.com/z/355010.html