!=.
17 Декабрь 2008
Logical XOR operator in C++
Понадобилось использовать оператор logical XOR и... поначалу не нашел я его в С++. В смысле не нашел оператора, на котором написано "logical XOR". А вообще оператор есть:
Подписаться на:
Комментарии к сообщению (Atom)
5 коммент.:
Только логические выражения в которых написано наподобие a != b, где a и b логические переменные, выглядят непонятно. :-(
Я поэтому стараюсь избегать его использования.
А чем плоха конструкция:
!(a && b) && (a || b)
?
White Knight: да слишком уж она громоздка, читать неудобно и писать тоже. Вполне себе вариант когда на месте a и b - вызовы функций символов на 20-30 кода, да или просто имена переменных символов 10-20.
Тогда уж лучше
a ? !b : b
и то короче и нагляднее.
Bitwise Exclusive OR Operator: ^
"The bitwise exclusive OR operator (^) compares each bit of its first operand to the corresponding bit of its second operand. If one bit is 0 and the other bit is 1, the corresponding result bit is set to 1. Otherwise, the corresponding result bit is set to 0."
...
"The xor operator is the text equivalent of ^. "
MSDN
Отправить комментарий