小编Vid*_*erd的帖子

内存的价值是什么?

问题1:我的朋友问我一个问题,我想证明我的理解是正确的。如果我声明一个特定大小的数组,但不指定每个元素的值,则将其打印出来,得到全0。但这是使它们正确为0的编译器吗?我只需要声明一个X大小的数组,就可以分配一个正确大小的连续块吗?我不应该指望它们始终为零,而应自己手动对其进行初始化。

问题2:我在留言板上看到,较新的c ++允许您声明具有用户定义大小的数组。这对我来说没有意义,我一直认为需要在编译时就知道它。怎么了 这是语法糖吗?到底发生了什么事?

#include <iostream>

using namespace std;

void question2()
{
    int userInput;
    cin >> userInput;

    int anotherArray[userInput];
}

int main()
{
    int array[5];

    for (int i = 0; i < 5; i++) {
        cout << array[i] << endl;
    }
    cout << endl;

    question2();
}
Run Code Online (Sandbox Code Playgroud)

我希望从main发出混乱的输出,并显示类似“ userInput not const”之类的错误,但是我得到0 0 0 0 0和用户输入,并且进程在2.857秒后退出,返回值为0

c++

2
推荐指数
1
解决办法
79
查看次数

标签 统计

c++ ×1