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

可能重复:
C ++中的可变长度数组?

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

两个原因:

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

std::vector怎么样?

编辑:抱歉,我很想念您的问题。

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