【发布时间】:2025-12-15 22:10:02
【问题描述】:
我正在尝试创建这个简单的程序,它将数组的数据再次显示给用户。我想创建一个可变长度的数组。在这个程序中,首先询问用户数组元素的数量,然后是数据。
问题在于,在某些 IDE 中,此代码运行完全正常,但在其他 IDE 中,它给出了不允许可变长度数组的错误......那么什么是正确的?
void main()
{
int t;
cin>>t;
int ar[t];
for(int i=0;i<t;i++)
{
cin>>ar[i];
}
for(int i=0;i<t;i++)
{
cout<<ar[i]<<"\t";
}
}
例如。这在 Turbo C++ 中不起作用...但在此 IDE 中运行 http://www.tutorialspoint.com/compile_cpp11_online.php
【问题讨论】:
-
当你有 std::vector 时,VLA 在 C++ 中有点毫无意义。可以说 std::vector 甚至更好,因为它引起了人们对动态分配内存而不是静态分配内存的关注(以及更安全的类型)。
标签: c++ data-structures arrays