为什么C ++不支持可变长度数组?

时间:2010-09-23 21:21:23

标签: c++ c arrays

  

可能重复:
  Variable length arrays in C++?

我只是好奇,C ++不允许变长数组有什么特别的原因吗?

3 个答案:

答案 0 :(得分:4)

有两个原因:

  1. C ++基于C89(1989年出版的C标准)。 VLA仅在C99中引入。
  2. C ++有std::vector<>和一大堆其他容器,这就是为什么我相信C ++永远不会打扰VLA。当用于C发明VLA时,它已经有了它们。

答案 1 :(得分:2)

std::vector怎么样?

编辑:抱歉,我误解了你的问题。

答案 2 :(得分:0)

STL包含要使用的Vector类。从技术上讲,您可以使用索引变量为指针的数组,从而生成“可变长度”数组。