title: Is std::cout buffered?
body: <p>Just reading an old but interesting article by "Scott Meyers" </p>
  
  <p><a href="http://aristeia.com/Papers/C++ReportColumns/novdec95.pdf">http://aristeia.com/Papers/C++ReportColumns/novdec95.pdf</a></p>
  
  <p>Basically it is about preferring to use <code>'\n'</code> over <code>std::endl</code> (which I agree with and have used the same augment for years).</p>
  
  <p><strong>BUT</strong> the last section indicates this was not included in his book because the whole thing was rendered moot because of two points:</p>
  
  <ol>
  <li><code>std::cout</code> was not buffered.</li>
  <li>The state of <code>ios::unitbuf</code> on std::cout is not explicitly defined (thus implementation dependent).</li>
  </ol>
  
  <p>I did a quick look but could not find an explicit standards reference for <code>1</code> was true. Is <code>std::cout</code> unbuffered contrary to what I have always understood?</p>