【问题标题】:How to set the value of a boolean to the desired state如何将布尔值设置为所需状态
【发布时间】:2015-09-02 12:18:06
【问题描述】:

我想在我的类中包含一个函数来将布尔值设置为所需的状态。但是,我不确定语法,特别是因为我不知道“真/假”是什么类型。

我在想类似的事情:

void setBool(boolean bBool, string str){
    bBool = str;
}

int main (){
    bool myBool;
    string str = "false";
    setBool (myBool, str);
    return 0;
}

有人有什么想法吗? “真/假”是什么数据类型?

【问题讨论】:

  • 只需使用bBool = true;bBool = false; 设置其值。
  • true/false 或 1/0 是 boolean
  • 如果您想将那里的字符串解析为布尔值,请查看以下答案:stackoverflow.com/a/3613424/874508
  • 有一个方便的manipulator 已经为您处理好了。
  • 感谢@ScottMcGready 这就是我所需要的,我可以将我的函数定义为 setBool(bool, bool) 并将其称为 setBool(myBool, true); true/false 本身被视为布尔值。

标签: c++ boolean


【解决方案1】:

bool 是一种整数数据类型,表示真或假。他们通过他们持有的数字来做到这一点。零值为假,所有其他值为真。 truefalse 自己 are actually keywords。如果要将字符串转换为布尔值,则可以这样做

void setBool(bool& bBool, const string& str)
{
    if (str == "false")
        bBool = false;
    else
        bBool = true;
}

您还可以将比较结果存储在布尔值中,因为比较返回的是布尔值。所以如果我们这样做:

bBool = (str != "false");

然后如果str 不等于"false" 那么那将是truebBool 将是true 否则它将被设置为false。所以没有函数是:

void setBool(bool& bBool, const string& str)
{
    bBool = (str != "false");
}

【讨论】:

    猜你喜欢
    • 2016-06-24
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多