标准规定,在5.17/9章节下
一个大括号初始化列表可以出现在以下场景的右侧:
- 标量类型赋值语句[...]
- 用户自定义赋值运算符所定义的赋值语句[...]
然而在GCC 4.5.1-pre9999中,我可以使用-std=c++0x编译此代码(而不是-std=gnu++0x)
#include <iostream>
int main()
{
int test[] = {1,2,3};
std::cout << test[0] << test[1] << test[2];
test = {4,5,6};
std::cout << test[0] << test[1] << test[2] << std::endl;
}
它打印出123456
。这里的GCC正确吗?