int shit={11};//set shit to 11
int creep{5};//set creep to 5
int marks={};//set marks to 0
int money{};//set money to 0
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’。
最后注意,“{}”只能用于初始化,不能用于赋值。