【问题标题】:Why does C++ not support Variable-length arrays? [duplicate]为什么 C++ 不支持变长数组? [复制] 【发布时间】:2011-04-16 12:10:11 【问题描述】: 可能重复:Variable length arrays in C++? 我只是好奇,C++ 不允许变长数组有什么特别的原因吗? 【问题讨论】: 重复Variable length arrays in C++? 标签: c++ c arrays 【解决方案1】: std::vector 呢? 编辑:对不起,我错过了你的问题。 【讨论】: 我不是在抱怨,我是在问为什么。 【解决方案2】: 两个原因: C++ 基于 C89(1989 年发布的 C 标准)。 VLA 仅在 C99 中引入。 C++ 有 std::vector<> 和一大堆其他容器,这就是为什么我相信 C++ 永远不会打扰 VLA。在为 C 发明 VLA 时,它已经有了它们。 【讨论】: 【解决方案3】: STL 包含要使用的 Vector 类。从技术上讲,您可以使用索引变量为指针的数组,从而生成“可变长度”数组。 【讨论】: 我理解您提到动态数组的第二点。但是 C 从一开始就拥有这些。