Re[11]: Операторы в С++
От: Евгений Коробко  
Дата: 13.06.03 05:29
Оценка:
Оператор != не подходит потому, что в С++ есть неявное преобразование из int в bool.
Отличие xor от bool должно быть в том, что xor принудительно приводит операнды к bool.

int a=2,b=4;

a xor b == false (a и b приводятся к true)
a!=b == true

Т.е.
#define xor(a,b) (static cast<bool>(a)!=static cast<bool>(b))

Но хотелось бы в форме оператора.
Ну и опять-таки, ^^=...

А про то, что можно обойтись условными операторами и пр. — когда можно, а когда и нет. Знаете, есть дискретная математика, всякие так КНФ, ДНФ и пр. самые настоящие вычисления, только не с числами, а с булевскими переменными.
Posted via RSDN NNTP Server 1.6 beta
Евгений Коробко
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.