我读过相当多的 C++ 代码,并且遇到过两种初始化变量的方法。
方法一:
int score = 0;
方法二:
int score {};
我知道int score {};
会将分数初始化为 0,因此int score = 0;
这两者有什么区别?我读过了初始化:括号与等号但这并不能回答我的问题。我想知道有什么区别等号 and 大括号,不是括号。在什么情况下应该使用哪一个?
int score = 0;
施行复制初始化,作为效果,score
被初始化为指定值0
.
否则(如果两者都不是T
也不是类型other
是类类型),标准转换如有必要,可用于转换的值other
到简历不合格的版本T
.
int score {};
施行值初始化带有大括号初始值设定项,自 C++11 起就受支持,其效果是,
否则,该对象是零初始化.
score
是内置类型int
, it's 零初始化最后,即初始化为0
.
If T
是标量类型,对象的初始值为整数常量零显式转换 to T
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)