hint:初始化不等于赋值;
int a=0;
int a={0};
int a(0);
int a{0};
以上都是正确的初始化;但是以下情况不能等价的使用
但是在使用等号(拷贝初始化)时,只能提供一个初始值;
如果提供类内初始值,只能使用拷贝初始化或者花括号的形式;
如果提供初始元素值的列表,只能通过花括号的形式;
hint:如果列表初始化会存在丢失信息的风险,编译器会报错;
float b=0.5;
int a{b};//报错
int a(b);//OK
hint:初始化不等于赋值;
int a=0;
int a={0};
int a(0);
int a{0};
以上都是正确的初始化;但是以下情况不能等价的使用
但是在使用等号(拷贝初始化)时,只能提供一个初始值;
如果提供类内初始值,只能使用拷贝初始化或者花括号的形式;
如果提供初始元素值的列表,只能通过花括号的形式;
hint:如果列表初始化会存在丢失信息的风险,编译器会报错;
float b=0.5;
int a{b};//报错
int a(b);//OK