Есть ли такая вещь? Это первый раз, когда я столкнулся с практической необходимостью, но я не вижу ни одного перечисленного в Struustrup. Я намерен написать:
// Detect when exactly one of A,B is equal to five.
return (A==5) ^^ (B==5);
Но нет оператора ^^
. Могу ли я использовать побитовый ^
здесь и получить правильный ответ (независимо от машинного представления true и false)? Я никогда не смешиваю &
и &&
, или |
и ||
, поэтому я не решаюсь сделать это с помощью ^
и ^^
.
Мне было бы удобнее писать собственную функцию bool XOR(bool,bool)
.