bool类型的默认构造函数值

时间:2010-07-22 10:52:06

标签: c++ default-value boolean

bocol类型的默认构造函数在C ++中返回哪个值?

例如,写

int i = int();

保证变量 i 始终以0开始。

我想这样的初始化例程也是可能的:

bool b = bool();

但遗憾的是,我无法找到定义返回的默认bool构造函数的任何值。变量 b 是否始终使用 false true 进行初始化。

5 个答案:

答案 0 :(得分:31)

false

见C ++ 14草案N4296,第8.5节(初始化者),第6段,清单第1项及其中的参考文献,以及第8段,清单第4项。

答案 1 :(得分:6)

bool是一个整数类型,值初始化应该使它为零。

答案 2 :(得分:3)

  

变量b是否始终用false或true初始化?

<强>假

true转换为integer类型将产生1,转换false将产生04.5/4和{{1} })

一个非常简单的测试代码

4.7/4

答案 3 :(得分:1)

b也初始化为零。

答案 4 :(得分:1)

bool表现'好像它被声明':

enum bool {false,true};

它是一个整数类型,可以作为值0和1(分别)转换为int,其默认值为false。