繁体   English   中英

为什么我可以在 C++ 中动态创建静态数组?

[英]Why can I create a static array dynamically in c++?

我只是在浏览一些简单的 C++ 概念。 我喜欢认为我知道动态和静态数组之间的区别。 但是当我运行以下代码时:

`

#include <iostream>
using namespace std;
int main()
{
    int size;
    cout<<"enter size: ";
    cin>>size;
    int arr[size];
    cout<<"enter array values: ";
    for(int i=0;i<size;i++)
        cin>>arr[i];
    for(int i=0;i<size;i++)
        cout<<arr[i]<<" ";
    return 0;
    }

`

它不会给我一个错误。 它不应该让我使用用户输入的大小创建一个静态数组吗?

你不能。 这不是有效的 C++。

它编译是因为您使用的编译器提供了超出 C++ 标准的扩展。 如果您启用了编译器警告,您的编译器会警告您:

-Wall -Wextra -pedantic

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM