C++11可将大括号初始化器用于任何类型(可以使用等号,也可以不使用)。 大括号内可以不包含任何东西。根据我的实验int,float,double,long,long long,unsigned int等都默认初始化为0,char默认初始化为空格,char[]默认初始化为"\0",不过我也不太确定,希望有懂哥指点一下。
2020/7/5:用“{}”初始化数组时,可以只对数组的一部分进行初始化,如
int a[4]={10,3};//initialize a {10,3,0,0}也可以不给出数组的大小,如
float b[]{57.2,23.4};//initialize b {57.2,23.4}这里也可以看出,用“{}”初始化数组时也可以省略“=”。 同理,也就可以理解char数组的初始化了,如
char c[]{57,88};//initialize c {'9','X'} char c[9]{66,77,' ',99};//initialize c "BM c"缺省定义的部分应该都是’\0’。 最后注意,“{}”只能用于初始化,不能用于赋值。