我不确定这两个选项:
示例1:
const int SIZE = 4;
int numbers[SIZE] = {}; //is this array initialized?
cout << numbers[0];
示例2:
const int SIZE = 4;
int numbers[SIZE]; // is this array initialized?
cout << numbers[0];
第二个问题是输出为4196112。
这意味着“ int number [SIZE] = {}”未初始化正确吗?
答案 0 :(得分:3)
3
执行聚合初始化,这对于int numbers[SIZE] = {}
来说是值初始化,这意味着它们都被初始化为0。
int
声明了一个未初始化的int numbers[SIZE];
数组。
注意:如果数组具有静态存储持续时间,则即使没有显式的= {},也会将其初始化为零。
此外,聚合初始化可让您指定一些初始化程序,然后将其余初始化为零(或它们类型的默认值)。