Before C++11, a typical programming error when dealing with string streams was to forget to
extract the string with the function str() and to write to the stream directly instead. This was,
from a compiler’s point of view, a possible and reasonable thing to do because there was an implicit
conversion to void* (see Section 15.4.3, page 760). As a result, instead of its value the state of
the stream was written in the form of an address (see Section 15.3.3, page 756). With C++11, this
conversion was replaced by an explicit conversion to bool, so passing a string stream to the output
operator