【问题标题】:Creating a static array with a variable size?创建一个可变大小的静态数组?
【发布时间】:2012-12-13 23:24:16
【问题描述】:

我想创建一个不在堆上而是在堆栈上的数组。我的数组的大小将取决于文件中的行数。

我发现了这个 SO 帖子:

Why aren't variable-length arrays part of the C++ standard?

是否仍然没有办法在堆栈上创建一个数组,其中大小由除 const 之外的其他东西确定?

【问题讨论】:

  • 不是真正的 C++。但是您可以使用 GCC 中的非标准扩展。我相信它们是默认开启的。
  • 您要解决的核心问题是什么?为什么需要它在堆栈上?
  • 看看这个llvm::SmallVector。是不是让你心动了?

标签: c++ arrays stack constants


【解决方案1】:

不,除非在编译时知道其大小,否则您不能在堆栈上创建数组。不仅仅是const,还有编译时常量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多