Разница между & (амперсанд) и && или | (труба) и || в Objective-C? - PullRequest
8 голосов
/ 21 ноября 2010

Интересно, заботится ли Objective-C о том, пишу ли я & или &&?Я полагаю, что один амперсанд (&) будет или должен вызывать то, что если ЛЕВАЯ сторона уже ложна, то правая сторона не будет оценена.

Применимо ли это к Objective-C?

Ответы [ 2 ]

23 голосов
/ 21 ноября 2010

Да. Операторы работают одинаково в C и Objective-C.

Так же, как в C (или C ++, если вы используете Objective-C ++) & и | битовые, а && и || логические (и с коротким замыканием).Битовые операторы (& и |) имеют , а не короткое замыкание.

См. Операторы в C и C ++

3 голосов
/ 21 ноября 2010

Objective-C использует побитовые и логические операторы C (& является побитовым, а && логическим). Сингл & оценит оба выражения.

...