Операції відносини і еквівалентності - інтернет підручник c builder

Операнди повинні мати сумісні типи, за винятком цілих і дійсних типів, які можуть порівнюватися один з одним.

застосовувати операції <, <=,>,> = До покажчиків має сенс, тільки якщо обидва операнда вказують на елементи одного масиву.

Операції == і! = Можуть застосовуватися до покажчиків на будь-які об'єкти. У цьому випадку вони повернуть відповідно true і false, тільки якщо покажчики вказують на один і той же об'єкт.

Слід застерегти від досить поширеної помилки: випадкового застосування замість операції еквівалентності (==) операції присвоювання (=). Наприклад, якщо ви помилково замість оператора

то це не буде розцінено як синтаксична помилка. Справа в тому, що в С ++ будь-який вираз, що має деяке значення, може використовуватися в умовних операторах, зокрема, в if. Якщо значення виразу 0, то воно трактується як false. Будь-яке інше значення трактується як true. Тому результат операції А = 2 буде трактуватися як true і незалежно того, чому було так само значення А до виконання цього помилкового оператора, умова в операторі if завжди буде вважатися виконаним. До того ж ця помилка призведе до несанкціонованого зміни значення А.

На щастя, компілятор C ++ Builder зауважує подібні непорозуміння і при запису в операторі if операції присвоювання про всяк випадок зауважує: «Possibly incorrect assignment» (Можливо некоректне присвоювання). Це не помилка, а тільки зауваження. Так що якщо ви не звернете увагу на нього, то витратите потім багато часу на пошук помилки в програмі.

Чи не пропускайте жодного зауваження компілятора, не проаналізувавши текст і не знайшовши причини, що викликала зауваження. Це одна із запорук побудови надійного програмного забезпечення.