整数数组的 C++ 大括号初始化
C++ brace initialization for integer array
为什么大括号括起来的初始化不适用于这个整数数组?
#include <iostream>
int main()
{
int arr[2] = {0};
for (int i = 0; i <= 2; i++)
std::cout << arr[i] << " ";
}
输出为0 0 -731153664
。为什么不是 0 0 0
?
因为数组中只有两个元素
for (int i = 0; i < 2; i++)
打印 arr[2]
是未定义的行为
为什么大括号括起来的初始化不适用于这个整数数组?
#include <iostream>
int main()
{
int arr[2] = {0};
for (int i = 0; i <= 2; i++)
std::cout << arr[i] << " ";
}
输出为0 0 -731153664
。为什么不是 0 0 0
?
因为数组中只有两个元素
for (int i = 0; i < 2; i++)
打印 arr[2]
是未定义的行为