1

在 switch 语句中使用标准的 'true' 和 'false' 是可以的,如下所示:

void handle_a_bool (bool value_to_be_handled)
{
    switch (value_to_be_handled)
    {
        case true:
        // Yay.
        break;
        case false:
        // @$#%.
        break;
    };
};

我想我真正想知道的是 C++ 中的标准“bool”类型是常量还是其他东西。

4

2 回答 2

4

是的,这是合法的,但你为什么要这样做?只需使用这个:

if (value_to_be_handled)
{
    // ...
}
else
{
    // ...
}

基于的版本switch只是让代码更难阅读,并没有带来任何额外的好处。

于 2013-03-13T23:21:08.393 回答
2

您可以使用它,但对我而言,它非常难以阅读。

为什么不只使用

void handle_a_bool (bool value_to_be_handled) {
    if(value_to_be_handled) {

    }
    else{
    }
};

?

于 2013-03-13T23:21:28.697 回答