条件句中== true的意义是什么?

Chr*_*cle 1 c++ java conditional

我正在学习C++和java,我已经注意到如果你有条件,如果条件为真,即使你没有明确地写,也会执行以下代码 == true

考虑以下非常简单的C++代码:

bool c_plus_plus_is_cool(){
    return true;
}

int main(){
    if (c_plus_plus_is_cool()) {
        cout << "C++ is cool!";
    } 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问:有什么区别

if (c_plus_plus_is_cool())if (c_plus_plus_is_cool() == true)

在其他语言中也是这种情况(比如Java(==true这次我一直在写这个......))?

SLa*_*aks 5

==运营商将返回一个布尔值.
如果你已经有一个布尔值,== true则与原始布尔值没有区别; 写作没有意义.

同样,使用!运算符代替== false.

一个例外是C#可空的布尔值,其中== true将为false null.

  • "`!`而不是`== false`"?真正的男人用`!(c!= false)!= true`! (3认同)