title: Why do we need to tie std::cin and std::cout?
body: <p>By default, the standard input device is tied together with the standard output device in the form:
  <code>std::cin.tie (&amp;std::cout);</code> which guarantees that the output buffer has been flushed before input is invoked. So I try to untie them by using <code>std::cin.tie(0)</code>, but it seems that the result, has no difference with the tied one.</p>
  
  <pre><code>#include&lt;iostream&gt;
  using namespace std;
  
  int main(int argc, char *argv[])
  {
      char c;
  
      cin.tie(0)
  
      cout &lt;&lt; "Please enter c:";
      cin &gt;&gt; c;
      cout &lt;&lt; c ;
  
      return 0;
  }
  </code></pre>
  
  <p>Am I testing wrong? Why do we need to tie them together? Do they share the same buffer?</p>