    Traditionally, the evaluation order of expressions of operands of binary
operators is, except for the boolean operators tt(and) and tt(or), not
defined. C++ changed this for postfix expressions, assignment expressions
(including compound assignments), and shift operators:
    itemization(
    it() Postfix expressions (like index operators and member selectors) 
        are evaluated from left to right;
    it() Assignment expressions are evaluated from right to left;
    it() Operands of shift operators are evaluated from left to right.
    )

    In the following examples tt(first) is evaluated before tt(second), before
tt(third), before tt(fourth), whether they are single variables, parenthesized
expressions, or function calls:
        verb(
    first.second
    fourth += third = second += first
    first << second << third << fourth
    first >> second >> third >> fourth
        )
    In addition, when overloading an operator, the function implementing the
overloaded operator is evaluated like the built-in operator it overloads, and
not in the way function calls are generally ordered.
