C++11新标准中,使用花括号来初始化变量得到全面应用。
当内置类型的变量使用列表初始化时,有一个明显的好处:如果我们使用列表初始化且初始化值存在丢失信息的风险,则编译器报错:
long double pi = 3.14;
int i1{pi}, i2 = {pi}; //error:转换未执行,因为存在丢失信息的危险
int i3(pi), i4 = pi; //OK:转换执行,且确实丢失了部分信息
C++11新标准中,使用花括号来初始化变量得到全面应用。
当内置类型的变量使用列表初始化时,有一个明显的好处:如果我们使用列表初始化且初始化值存在丢失信息的风险,则编译器报错:
long double pi = 3.14;
int i1{pi}, i2 = {pi}; //error:转换未执行,因为存在丢失信息的危险
int i3(pi), i4 = pi; //OK:转换执行,且确实丢失了部分信息
本文标题:列表初始化
本文链接:https://www.haomeiwen.com/subject/jqsmpctx.html
网友评论