Что такое «симметрия» операций в C? - PullRequest
0 голосов
/ 09 июля 2020

K & R говорит:

Унарный + является новым в стандарте ANSI. Он был добавлен для симметрии с унарным -.

Что это за симметрия относительно (т.е. это явно не фактическая , геометрия c симметрия) и каково значение для? Это важно в программировании?

1 Ответ

3 голосов
/ 09 июля 2020

Это просто что-то, что означает «в шаблоне» или «как вы разумно ожидали с учетом установленного шаблона». В этом конкретном случае - является эквивалентом +, хотя в C есть и другие пары, подобные этой,

Это означает, что вы можете выполнять +2, а также -2, и оба работают . Было бы странно или асимметрично c, если бы +2 было синтаксической ошибкой. Фактически, в K&R C есть много нечетных вещей, которые позже были устранены в процессе стандартизации. Похоже, это был один из них.

Вам на самом деле не нужен унарный + оператор, вы можете просто опустить +, и код компилируется нормально, но тот же logi c, вам тоже не нужен унарный -, вы всегда можете использовать 0 - 5 вместо -5, хотя такая оплошность может показаться смешной.

...