C++ 循环内的单行 If-Else

San*_*man 0 c++ loops braces conditional-statements

我读过为什么循环和 if 语句不需要括号,但我没有足够的声誉点来回答后续问题。

我知道这是不好的做法,但我一直面临着尽量减少使用的代码行的挑战。

您可以在任何版本的 C++ 中执行此操作吗?

a_loop()
    if ( condition ) statement else statement
Run Code Online (Sandbox Code Playgroud)

即 if/else 块算作一个“语句”吗?

同样,if/else if.../else 算作一个“语句”吗?尽管这样做会变得完全不可读。

我上面提到的帖子只说了这样的话:

a_loop()
    if(condition_1) statement_a; // is allowed.
Run Code Online (Sandbox Code Playgroud)

Shi*_*vCK 6

您可以使用ternary operator代替if...else

while(true) return condition_1 ? a : b;
Run Code Online (Sandbox Code Playgroud)

while如果它的参数的值总是,那么这里似乎是多余的,true所以你可以简单地写

return condition_1 ? a : b;
Run Code Online (Sandbox Code Playgroud)