c++ - 简化对两个 boolean 值的4 if/else检查

标签 c++ if-statement boolean boolean-logic

我的代码中有这样的情况:

bool a, b, result;
... // a and b are set
if(!a &&! b)
    result = functionOne() ;
else if(!a && b)
    result = functionTwo();
else if(a &&! b)
    result = functionThree();
else
    result = functionFour();

有什么方法可以简化/缩短此代码?
提前致谢!

最佳答案

是的,您可以使用ternary operator:

bool a, b, result;
// a and b are set
result = a && b ? functionOne() : b ?functionTwo() : a ? functionThree() : functionFour();

仅将它用于简单的其他任务,而不用于复杂的任务,因为它很快就会变得困惑。

关于c++ - 简化对两个 boolean 值的4 if/else检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59712353/

相关文章:

c++ - 试图让我的 C++ 代码编译,g++ 无法识别?

if-statement - gnuplot 的 if block 中的 Shell 命令

php - 为什么我的 else 语句运行代码两次

c# - 使用 if 语句返回 bool

javascript内部/子函数返回问题

c++ - 如何分别针对整型和浮点型专门化模板函数?

C++ 预期主表达式在 '<<' Endl 之前

c++ - 如何避免使用不同类型 C++ 执行相同操作的多个函数

mysql - 带条件的 CASE 语句

python - 在 pandas 数据框中,根据其他两列的结果生成第三列数据