C++ C++;整数数组的括号初始化

C++ C++;整数数组的括号初始化,c++,arrays,list-initialization,C++,Arrays,List Initialization,为什么大括号内的初始化不适用于此整数数组 #include <iostream> int main() { int arr[2] = {0}; for (int i = 0; i <= 2; i++) std::cout << arr[i] << " "; } #包括 int main() { int arr[2]={0}; 对于(int i=0;i,因为数组中只有两个元素 for (int i = 0; i <

为什么大括号内的初始化不适用于此整数数组

#include <iostream>
int main()
{
    int arr[2] = {0};
    for (int i = 0; i <= 2; i++)
        std::cout << arr[i] << " ";
}
#包括
int main()
{
int arr[2]={0};

对于(int i=0;i,因为数组中只有两个元素

for (int i = 0; i < 2; i++)
for(int i=0;i<2;i++)

打印
arr[2]
是一种未定义的行为

因为
X
元素数组的索引从
0
X-1
。数组的大小是元素的数量,而不是最高索引。任何书籍、教程或课程都应该提到这一点。