The reason that the assignment operator has precedence lower than that of
the output operator is that <<
has another meaning for which high
precedence makes sense. In particular, when the operand on the left is an
integral data type, <<
denotes the left-shift operator, a
meaning C++ inherits from C. In the hardcopy version of this book, you learn that
C++ allows functions and operators to have more than one meaning, which
C++ keeps sorted out through what is called function and operator
overloading.