在网上搜索了一下之后,我得出的结论是,指定的初始值设定项不属于任何C++标准,但是在使用g++(4.7.0)编译此代码时
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int test[2][2] ={
[0]={1,2},
[1]={3,4},
};
for (int x = 0; x<2;x++)
{
for (int y = 0; y<2; y++)
{
cout << test[x][y] << endl;
}
}
return 0;
}
它将编译并运行良好。
我想念什么吗?从我读过的所有内容来看,C++不应该支持这种类型的代码。
最佳答案
每个编译器通常都有自己的语言扩展。它对于g++和例如MS VC++是有效的。例如,在MS VC++中,您可以为每个语句使用语句。
关于c++ - 为什么指定的初始化程序可以在C++中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19786813/