C++11的{}初始化对象引入及意义
C++11引入了使用{}来初始化对象,这种初始化对象的方法有如下几种:
实际上,这是增加了一种调用构造函数的形式,以前是圆括号,现在增加了花括号。
那么引入{}的意义是什么呢?
1. 禁止变窄转换;
2. 适配std::initializer_list参数的构造函数;
3. 调用无参构造函数语义更加明确
但要注意的是,{}会优先适配initializer_list参数的构造函数,例如下面的区别:
以上就是电脑114游戏给大家带来的关于C++11的{}初始化对象引入及意义全部内容,更多攻略请关注电脑114游戏。
电脑114游戏-好玩游戏攻略集合版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!