Relációs és egyenértékűségi műveletek - online bemutató az építővel

Az operandusoknak kompatibilis típusokkal kell rendelkezniük, kivéve az egész és az igazi típusokat, amelyek egymással összehasonlíthatók.

Alkalmazza a műveleteket <, <=,>,> = a mutatóknak csak akkor van értelme, ha mindkét operandus az ugyanazon tömb elemeire mutat.

A műveletek == és! = Alkalmazható bármely objektum mutatóira. Ebben az esetben csak akkor térnek vissza igaznak és hamisnak, ha a mutatók ugyanarra az objektumra mutatnak.

Meg kell óvni egy meglehetősen gyakori hiba ellen: a véletlenszerű használat az egyenértékűség (==) hozzárendelési művelet (=) művelete helyett. Például, ha tévesen cserélje le a kezelőt

akkor ez nem tekinthető szintaktikai hibának. Az a tény, hogy a C ++-ban bármilyen kifejezést, amely valamilyen értelemben használható, feltételes kijelentésekben, különösen, ha. Ha a kifejezés értéke 0, akkor hamisnak minősül. Minden más értéket igaznak tekintünk. Ezért az A = 2 művelet eredményét akkor értelmezzük igaznak, és függetlenül attól, hogy mekkora volt az A értékével a hibás operátor végrehajtása előtt, az if utasításban szereplő feltétel mindig teljesül. Emellett ez a hiba az A érték értékének jogosulatlan megváltoztatásához vezet.

Szerencsére a C ++ Builder fordító észreveszi ezeket a félreértéseket, és amikor az if utasításban egy hozzárendelést tesz, csak abban az esetben teszi meg a megjegyzést: "Lehetséges, hogy helytelen hozzárendelés". Ez nem egy hiba, csak egy megjegyzés. Tehát ha nem figyelj rá, akkor töltsön sok időt keresni a program hibáját.

Ne hagyja ki egyetlen megjegyzést a fordítótól anélkül, hogy megvizsgálná a szöveget, és megkereste a megjegyzést okozó okot. Ez egyike a megbízható szoftverek építésének.