为什么C ++不支持可变长度数组?
可能重复:
C ++中的可变长度数组?
我只是好奇,C ++不允许变长数组有什么特别的原因吗?
两个原因:
- C ++基于C89(1989年出版的C标准)。 VLA仅在C99中引入。
- C ++有
std::vector<>
和一大堆其他容器,这就是为什么我相信C ++永远不会打扰VLA。 当为C发明VLA时,它已经有了它们。
那std::vector
怎么样?
编辑:抱歉,我很想念您的问题。
STL包含要使用的Vector类。 从技术上讲,您可以使用索引变量为指针的数组,从而生成“可变长度”数组。