c ++ / c ++ 11中的bool()
,int()
和double()
是什么?它们是{c}或c ++ 11标准中的true
,0
和0.0
吗?
答案 0 :(得分:3)
T()
ia是一个值为T
的值初始化的prvalue,因为C ++ 03引入了值初始化。
false
为bool
,算术为0
,指针类型为nullptr
。
答案 1 :(得分:3)
引用C ++ 11 FD,[expr.type.conv] / 2:
表达式
T()
,其中T
是简单类型说明符或 typename-specifier 表示非数组完整对象类型或 (可能是cv-qualified)void
类型,创建指定的prvalue type,,其值是由值初始化(8.5)生成的T
类型的对象;没有为void()
情况进行初始化。
值初始化意味着标量的零初始化。