4种初始化
int units_sold = 0;
int units_sold = { 0 };
int units_sold{0};
int units_sold(0);
在c++11中用花括号初始化变量得到全面应用。这种初始化形式被称为列表初始化(list
initialization)。无论是初始化对象还是某些时候为对象赋新值,都可以使用这样一组
由花括号括起来初始值。
注意: 当用于内置类型的变量时,这种初始化形式有一个重要特点:如果我们使用列表
初始化值,当存在信息丢失风险时,编译器将报错,如:
long double ld = 3.1415926536;
int a{ld},b = {ld}; //错误,转换未执行,存在信息丢失风险
int c(ld), d = ld; //正确