定义一个数组,然后根据用户输入VS2015指定其大小

时间:2016-04-13 00:46:49

标签: c++ arrays visual-studio-2015

我需要在运行时根据用户输入调整数组大小,不允许使用向量。

int main() {    
    int* array;
    int size = 0;

    cin >> size;

    array = new int[size];

    //do some stuff in here setting values in the array

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

    delete [] array;
}

代码在VS2015中编译并运行,但不是将数组分配给正确大小的数组,而是将值-842150451转储到数组指向的内存中。有没有办法在没有载体的情况下做到这一点,如果有,怎么做?

1 个答案:

答案 0 :(得分:1)

默认情况下,数组不会初始化为任何值,因此它们只会包含以前内存中的内容。

如果你想将它们全部初始化为0,你可以做到

array = new int[size]();

这个问题还有一些答案:How do you initialise a dynamic array in C++?