Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Операции отношения и эквивалентности

CuBook45

Операции отношения и эквивалентности используются при сравнении двух операндов. Они возвращают true - истина, если указанное соотношение операндов выполняется, и false(0) - ложь, если соотношение не выполняется. Определены следующие операции отношения:
Обозначение Операция Типы операндов Пример
== Равно арифметический, указатели I == Мах
!= Не равно арифметический, указатели X != Y
< Меньше чем арифметический, указатели X < Y
> Больше чем арифметический, указатели Len> 0
<= Меньше или равно арифметический, указатели Cnt <= I
>= Больше или равно арифметический, указатели I >= 1
Операнды должны иметь совместимые типы, за исключением целых и действительных типов, которые могут сравниваться друг с другом.
 
Применять операции <, <=, >, >= к указателям имеет смысл, только если оба операнда указывают на элементы одного массива.
 
Операции == и != могут применяться к указателям на любые объекты. В этом случае они вернут соответственно true и false, только если указатели указывают на один и тот же объект.
Следует предостеречь от довольно распространенной ошибки: случайного применения вместо операции эквивалентности (==) операции присваивания (=). Например, если вы по ошибке вместо оператора
if(А == 2)
написали оператор
if(А = 2)
то это не будет расценено как синтаксическая ошибка. Дело в том, что в С++ любое выражение, имеющее некоторое значение, может использоваться в условных операторах, в частности, в if. Если значение выражения 0, то оно трактуется как false. Любое другое значение трактуется как true. Поэтому результат операции А = 2 будет трактоваться как true и независимо того, чему было равно значения А до выполнения этого ошибочного оператора, условие в операторе if всегда будет считаться выполненным. К тому же эта ошибка приведет к несанкционированному изменению значения А.
 
К счастью, компилятор C++ Builder замечает подобные недоразумения и при записи в операторе if операции присваивания на всякий случай делает замечание: «Possibly incorrect assignment» (Возможно некорректное присваивание). Это не ошибка, а только замечание. Так что если вы не обратите внимание на него, то потратите потом много времени на поиск ошибки в программе.
Не пропускайте ни одного замечания компилятора, не проанализировав текст и не найдя причины, вызвавшей замечание. Это один из залогов построения надежного программного обеспечения.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий