title: Isn't std::endl redundant?
body: <p>Flush happens in the following cases:</p>
  
  <ul>
  <li>std::cerr</li>
  <li>std::cin</li>
  <li>program termination</li>
  <li>in many implementations, standard output is line-buffered, meaning "\n" flushes anyway</li>
  </ul>
  
  <p>So it seems in most regular programs, std::endl is basically unnecessary, but it's used almost everywhere. </p>