|
|
|
|
|
|
|
In previous versions of C++ all truth and falsity were represented by integers, but the new ISO/ANSI standard has introduced a new type: bool. This new type has two possible values, false or true. |
|
|
|
|
|
|
|
|
Every expression can be evaluated for its truth or falsity. Expressions which evaluate mathematically to zero will return false, all others will return true. |
|
|
|
|
|
|
|
|
Many compilers previously offered a bool type which was represented internally as a long int and thus had a size of 4 bytes. ANSI compliant compilers will now often provide a 1-byte bool. |
|
|
|
|
|
|
|
|
|
The relational operators are used to determine whether two numbers are equal, or if one is greater or less than the other. Every relational expression returns either 1 (true) or 0 (false). The relational operators are presented in Table 4.1. |
|
|
|
|
|
|
|
|
If the integer variable myAge has the value 39, and the integer variable yourAge has the value 40, you can determine whether they are equal by using the relational equals operator: |
|
|
|
|
|
|
|
|
myAge == yourAge; // is the value in myAge the same as in yourAge? |
|
|
|
|
|
|
|
|
This expression evaluates to 0, or false, because the variables are not equal. The expression |
|
|
|
|
|
|
|
|
myAge > yourAge; // is myAge greater than yourAge? |
|
|
|
|
|
|
|
|
Many novice C++ programmers confuse the assignment operator (=) with the equals operator (==). This can create a nasty bug in your program. |
|
|
|
|
|
|
|
|
|
There are six relational operators: equals (==), less than (<), greater than (>), less than or equal to (<=), greater than or equal to (>=), and not equals (!=). Table 4.1 shows each relational operator, its use, and a sample code use. |
|
|
|
|
|