title: std::ostringstream and flush member function
body: <p>Why so many people use flush() member function for std::ostringstream objects in situations like this:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;sstream&gt;
  
  int main()
  {
     float f = 12.345f / 100;
     std::ostringstream ios;
     ios &lt;&lt; f;
     ios.flush();
     std::cout &lt;&lt; f &lt;&lt; " : " &lt;&lt; ios.str() &lt;&lt; std::endl;
  }
  </code></pre>
  
  <p>Output without this call will be the same.</p>
  
  <p>So, why? And when should i use flush() member function?</p>