Re[12]: Операторы в С++
От: Доброжелатель Россия  
Дата: 13.06.03 13:12
Оценка:
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>Оператор != не подходит потому, что в С++ есть неявное преобразование из 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))

ЕК>Но хотелось бы в форме оператора.

ЕК>Ну и опять-таки, ^^=...

ЕК>А про то, что можно обойтись условными операторами и пр. — когда можно, а когда и нет. Знаете, есть дискретная математика, всякие так КНФ, ДНФ и пр. самые настоящие вычисления, только не с числами, а с булевскими переменными.


Да, но я не предлагаю сравнивать на неравенство два целых числа.
Я в своем примере писал !!а.
А если говорить о красивости... Не так часто сравниваются два логических выражния на равенство или неравенство, тем более, если имеет место неявное преобразование типов.
Не все в этом мире можно выразить с помощью нулей и единиц...
Re[8]: Операторы в С++
От: Доброжелатель Россия  
Дата: 13.06.03 13:31
Оценка: 1 (1)
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>отсутствие оператора логического xor и операторов &&= и ||= непонятно. Они нужны хотя бы для симметрии.


ЕК>Можно вообще класс написать

ЕК>class Bool
ЕК>{
ЕК>...
ЕК>};
ЕК>и в нём перегрузить все операторы а также &=,|=,^=, сделать конструкторы и оператор преобразования к bool.

Забавно, конечно, создавать класс Bool, но это всего лишь еще один новый "велосипед"...
Гораздо проще обойтись и обычными операторами.

А симметрия, наверное нарушена. Но я не знаю никого, кто бы от этого пострадал...

Если так судить, то и штрих Шеффера надо добавлять и стрелку Пирса...
Они все легко заменяемы.

Удалено избыточное цитирование. -- ПК.
Не все в этом мире можно выразить с помощью нулей и единиц...
Re[9]: Операторы в С++
От: Octane Россия  
Дата: 13.06.03 23:59
Оценка:
Здравствуйте, Доброжелатель, Вы писали:

Д>Если так судить, то и штрих Шеффера надо добавлять и стрелку Пирса...

Д>Они все легко заменяемы.

Импликацию , обратную импликацию , запрет , повтор...

Удалено избыточное цитирование. -- ПК.
Re[10]: Операторы в С++
От: Евгений Коробко  
Дата: 14.06.03 03:56
Оценка:
Здравствуйте, Octane, Вы писали:


Д>>А симметрия, наверное нарушена. Но я не знаю никого, кто бы от этого пострадал...


Да, собственно, изначально вопрос был не в том, как обойтись без этих операторов (это очевидно).
Вопрос был в том, а почему, собственно, их нет. Лично мне их отсутствие кажется нелогичным.
Евгений Коробко
Re[11]: Операторы в С++
От: Octane Россия  
Дата: 14.06.03 10:22
Оценка:
Здравствуйте, Евгений Коробко, Вы писали:

ЕК>Да, собственно, изначально вопрос был не в том, как обойтись без этих операторов (это очевидно).

ЕК>Вопрос был в том, а почему, собственно, их нет. Лично мне их отсутствие кажется нелогичным.

нелогическим
насколько я помню,самая моя первая программа нуждалась именно в ^^ и ^^=
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.