【问题标题】:Is there a way to declare an arrays' size with a variable? language: C++有没有办法用变量声明数组的大小?语言:C++
【发布时间】:2021-02-20 10:57:26
【问题描述】:

我想了解是否有一种方法可以使用变量来声明数组的大小。当我尝试这样做时会出错。例如这里是一个例子:

#include <iostream>
using namespace std;
int main()
{
    int x;
    cin >> x;
    int list[x];
}

我想这样做是因为我希望用户决定数组的大小。 如果有办法,可以教教我吗? 提前谢谢...

【问题讨论】:

  • 否,但向量优先于 C 数组。考虑使用std::vector

标签: c++ arrays compiler-errors


【解决方案1】:

可变长度数组 (VLA) 不是标准 C++。这意味着它不可移植,并且肯定会在某些系统上崩溃。
如果您在编译时不知道大小,请改用std::vector

【讨论】:

  • 好的,谢谢=)评论是为了另一个答案,但我猜答案已被删除
  • @Aldin322 一些编译器支持 VLA 作为 扩展,它仍然不是有效的 C++
  • 好的,谢谢=)评论是为了另一个答案,但我猜答案已被删除
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-06
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多