gpt4 book ai didi

c++ - 在 C++ 中创建具有非常量长度的数组时会发生什么?

转载 作者:太空狗 更新时间:2023-10-29 23:28:44 25 4
gpt4 key购买 nike

据我所知,这段代码不是标准的有效 C++ 代码:

int a = 5;
int b[a];

但似乎许多编译器都可以编译该代码(主要是带有警告)并且它的行为符合预期。我错了吗,是编译器对我好吗?

最佳答案

它被称为可变长度数组 (VLA),这是标准 C++ 和任何版本的 C++ 所不允许的,尽管一些 GCC 支持它作为扩展。

如果你使用的是 GCC,那么

  • -pedantic选项编译它,你会看到警告。
  • -pedantic -Werror选项编译它,你会看到警告变成了错误。

VLA 只被 C99 允许,但其他版本的 C 不允许。

关于c++ - 在 C++ 中创建具有非常量长度的数组时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8239001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com