C++:你能否在布尔函数中将0或1的值返回为false和true?

rig*_*nmr 1 c++

可以C++ bool函数返回0false1true像这样:

bool foo() {
    return 1;
}

bool foobar = foo();
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 8

是的,因为0将被隐式转换为false1(或任何其他非零值)将被隐式转换为true.

然而,并非一切合法都是好主意.