Yes, it's buffered:
C++11 27.4.2 [narrow.stream.objects]/3
: The object cout
controls output to a stream buffer associated with the object stdout
The article refers to a 1995 draft version of what became the C++98 standard. I've no idea whether or not that might have said something different.
As for point 2, unitbuf
is initially false on all streams (specified by the post-conditions of the basic_ios
constructor), except for cerr
and wcerr
which explicitly specify otherwise. Again, that may well be different in the ancient draft being referred to.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…