【问题标题】:Why does C++ not support Variable-length arrays? [duplicate]为什么 C++ 不支持变长数组? [复制]
【发布时间】:2011-04-16 12:10:11
【问题描述】:

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

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

【问题讨论】:

标签: c++ c arrays


【解决方案1】:

std::vector 呢?

编辑:对不起,我错过了你的问题。

【讨论】:

  • 我不是在抱怨,我是在问为什么。
【解决方案2】:

两个原因:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我理解您提到动态数组的第二点。但是 C 从一开始就拥有这些。
    猜你喜欢
    • 2015-05-23
    • 2011-03-17
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 2011-03-24
    • 2015-05-01
    • 1970-01-01
    相关资源
    最近更新 更多