Определить номер координатной четверти, в которой находится данная точка

Это как это??? Тип bool в языке С++ существует с начала времен, как и правила его поведения. Никто его "недавно" не вводил.

Но даже в языке С, где встроенный тип _Bool появился лишь относительно "недавно" (в 1999), все операторы с условно "булевским" результатом всегда гарантированно возвращают 1 в качестве значения "истина". То есть (5 > 3) + (10 < 20) всегда гарантированно даст 2 и в С++, и в С. Без вариантов.

Так что никаких проблем такого рода в вышеприведенных примерах нет (даже если рассматривать их с точки зрения классического С).

Во-первых, я - уверен. В языке С++, согласно его спецификации, операнды логических операторов &&, || всегда неявно приводятся к типу bool. Операнды if, while и т.п. (которые, кстати, никакие не "операторы", а statements; "инструкции" их иногда называют, чтобы не путать с операторами) тоже неявно приводят свои условия к типу bool. Это требование стандарта языка.

Побитовые операторы не являются логическими. Поэтому зачем вы их упомянули в этом контексте - мне не ясно.

Во-вторых, а какая разница? Где в вышеприведенных примерах вы усмотрели зависимость поведения кода от того, происходит ли приведение к bool или "они интерпретируют целые числа самостоятельно"? Покажите пальцем, где именно поведение может разниться.

Я привык операторами называть именно операторы (т.е. operators), а не statements, типа if.

Но не суть. Пусть даже речь идет об if. Вы утверждали, что в моем примере кода (который, кстати, не содержит if), так и в каком-то другом примере кода содержится зависимость от особенностей конкретной реализации (компилятора и т.п.). Так где конкретно вы усмотрели такую зависимость? Пусть даже и через if. Покажите, где.

0