【问题标题】:How to make a bool variable return as 0 or 1 instead of true or False in c++? [duplicate]如何在 C++ 中使布尔变量返回 0 或 1 而不是 true 或 False? [复制]
【发布时间】:2020-07-06 15:40:17
【问题描述】:

我在一段代码中使用了一个布尔变量。当我尝试从另一个例程访问该变量时,我将值读取为“True”或“False”。由于我直接显示到 UI 界面,所以我想将该变量读取为 0 或 1。如何做到这一点?

【问题讨论】:

  • 嗯,你为什么不将true 显示为1,将false 显示为0,如果你想要的话?不太清楚你在这里问什么..
  • 为什么不static_cast<int>(myBool);
  • 你能告诉我们你的代码吗? bool 究竟如何转换为字符串取决于您用于转换它的内容。默认情况下,标准 IO 流会将其打印为 1/0,而不是 true/false

标签: c++ boolean


【解决方案1】:

如果您想将 bool 类型转换为 int 类型,那么这对于一元加号运算符很有用:

bool b;
+b; // This is an `int` type

证明:

#include <iostream>
#include <type_traits>
int main() {
    bool b;
    std::cout << std::boolalpha << std::is_same<int, decltype(b)>::value << '\n';
    std::cout << std::is_same<int, decltype(+b)>::value;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 2013-10-11
    • 2012-01-05
    • 2014-10-14
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多