如果我们像这样写:
int *arr = new int[5];
在这种情况下,系统会动态为5个int
类型的元素分配空间,并返回序列的第一个元素的指针。
但是,当我看到以下代码时:
int *arr = new int[5]{};
那么,在new
运算符后面的{}
是什么意思?在这段代码中,{}
的目的是什么?
我已经使用自己的值初始化了数组,就像这样:
#include <iostream>
int main()
{
int* a = new int[5]{1};
for(int i = 0; i < 5; i++)
std::cout<< a[i]<<' ';
delete[] a;
}
输出:
1 0 0 0 0
只有第一个元素被打印出来了,为什么?
新的
参考文献,在描述语法的表格中,注意initializer部分。然后向下滚动到有关Construction的部分以了解更多信息。 - Some programmer dude