C++ 标准 boolean 值 - 开关

标签 c++ boolean switch-statement

可以在 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”类型是常量还是其他类型。

最佳答案

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

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

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

关于C++ 标准 boolean 值 - 开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15398389/

相关文章:

c++ - 当我只对比较部分值感兴趣而不能为另一部分假定默认构造函数时,如何使用 std::lower_bound

c++ - 使用复合依赖项链接 visual studio 中的静态库

c++ - 右值引用绑定(bind)到左值

c - 为什么VS2010语法正确却报语法错误?

c - 当我将 scanf 放入 char 类型的 switch case 中时,它会完全跳过它,为什么?

java - Switch 语句和字符串到字节

c++:vtable 是否包含指向非虚函数的指针?

c++ - vector < boolean >访问

c++ - boolean 变量没有初始化就有值?

switch-statement - 无法分配给 'let' 值 'action'