c++ - 条件运算符 : How much flexibility?

标签 c++ conditional-operator

我想执行以下操作:

if(x == true)
{
    // do this on behalf of x
    // do this on behalf of x
    // do this on behalf of x
}

使用条件运算符,这样正确吗?

x == true ? { /*do a*/, /*do b*/, /*do c*/ } : y == true ? ... ;

这是畸形的吗?

我没有使用条件运算符嵌套超过一层。

我打算使用的表达式非常简洁和简单,使条件运算符在我看来值得使用。

附言我不是在问 A。我应该使用哪个? B. 哪个更好 C. 哪个更合适

附言我在问如何将 if-else 语句转换为三元条件运算符。

就此问题给出的有关编码标准等的任何建议都是不受欢迎的。

最佳答案

不要将 bool 值与 true 和 false 进行比较。没有意义,因为它们已经是真或假了!随便写

if (x)
{
    // do this on behalf of x
    // do this on behalf of x
    // do this on behalf of x
}

您的第二个示例无法编译,因为您使用了 {}。但这可能

x ? ( /*do a*/, /*do b*/, /*do c*/ ) : y ? ... ;

但这确实取决于 /*do a*/ 等是什么。

关于c++ - 条件运算符 : How much flexibility?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16191461/

相关文章:

c++ - 向冒泡排序功能添加计数器

c++ - C++定义文件(CPP)中的函数扩展

c++ - 具有关闭功能的生产者消费者线程 C++

Java 在一行 if else 循环后设置值

C# 允许用户输入条件规则

c++ - 在 C++ 中自动生成 ID

c++ - 这两个类型测试对象动态数组声明之间的区别?

javascript - 如何在 JavaScript 中编写内联 IF 语句?

java - 模糊的条件 Java 语法

java - 带有条件运算符的奇怪 Java 行为。这是一个错误吗?