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

发布于 2025-01-18 12:35:53 字数 465 浏览 2 评论 0原文

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

我知道这是不好的做法,但是我受到了挑战,以最大程度地减少我使用的代码行。

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

a_loop()
    if ( condition ) statement else statement

即if/else块是否将其视为一个“语句”?

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

我上面提到的帖子只说了类似的话:

a_loop()
    if(condition_1) statement_a; // is allowed.

I read Why I don't need brackets for loop and if statement, but I don't have enough reputation points to reply with a follow-up question.

I know it's bad practice, but I have been challenged to minimise the lines of code I use.

Can you do this in any version of C++?

a_loop()
    if ( condition ) statement else statement

i.e. does the if/else block count as one "statement"?

Similarly, does if/else if.../else count as one "statement"? Though doing so would become totally unreadable.

The post I mentioned above, only says things like:

a_loop()
    if(condition_1) statement_a; // is allowed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

芯好空 2025-01-25 12:35:53

您可以使用三元运算符而不是如果... else

while(true) return condition_1 ? a : b;

,而如果其参数的值始终是true,则在此处看起来多余/code>因此您可以简单地写

return condition_1 ? a : b;

You can use ternary operator instead of if...else

while(true) return condition_1 ? a : b;

while seems redundant here if the value of its argument is always true so you can simply write

return condition_1 ? a : b;
风向决定发型 2025-01-25 12:35:53

是的,从句法上看,您可以做到这一点。

如果/else block是选择statement ,这是一种陈述。

 选择statement:
    如果(条件)语句
    如果(条件)语句else语句
    开关(条件)语句
 

Yes, syntactically you can do that.

if/else block is a selection-statement, which is a kind of statement.

N3337 6.4 Selection statements says:

selection-statement:
    if ( condition ) statement
    if ( condition ) statement else statement
    switch ( condition ) statement
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文