gpt4 book ai didi

objective-c - 这是三元条件吗? : correct (Objective) C syntax?

转载 作者:IT老高 更新时间:2023-10-28 11:49:14 24 4
gpt4 key购买 nike

我认为这是不可能的,但显然在 Objective C 中是允许的:

int a = b ?: c;

所以你看到他们在这里做了什么,他们省略了三元表达式的第二部分,这样如果 b 不为零,则 b 用作第二部分。

这很聪明,但据我所知,这违反了 K&R C,可能还有 ANSI C。

如果没有,我多年来一直错过了一个非常聪明的语法技巧......唉!

更新:是 gcc。

最佳答案

来自 http://en.wikipedia.org/wiki/%3F%3A

A GNU extension to C allows omitting the second operand, and using implicitly the first operand as the second also:

a = x ? : y;

The expression is equivalent to

a = x ? x : y;

except that if x is an expression, it is evaluated only once. The difference is significant if evaluating the expression has side effects.

关于objective-c - 这是三元条件吗? : correct (Objective) C syntax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8760561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com