bocol类型的默认构造函数在C ++中返回哪个值?
例如,写
int i = int();
保证变量 i 始终以0开始。
我想这样的初始化例程也是可能的:
bool b = bool();
但遗憾的是,我无法找到定义返回的默认bool构造函数的任何值。变量 b 是否始终使用 false 或 true 进行初始化。
答案 0 :(得分:31)
false
。
见C ++ 14草案N4296,第8.5节(初始化者),第6段,清单第1项及其中的参考文献,以及第8段,清单第4项。
答案 1 :(得分:6)
bool是一个整数类型,值初始化应该使它为零。
答案 2 :(得分:3)
变量b是否始终用false或true初始化?
<强>假强>
将true
转换为integer
类型将产生1
,转换false
将产生0
(4.5/4
和{{1} })
一个非常简单的测试代码
4.7/4
答案 3 :(得分:1)
b也初始化为零。
答案 4 :(得分:1)
bool表现'好像它被声明':
enum bool {false,true};
它是一个整数类型,可以作为值0和1(分别)转换为int,其默认值为false。