title: Why I have to write std::cout and not also std::<<
body: <p>Why do I have to write <code>std::cout</code> and not also <code>std::&lt;&lt;</code> in a line of code like this:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  int main() {
      std::cout &lt;&lt; "Hello, world!";
      return 0;
  }
  </code></pre>
  
  <p><code>cout</code> comes from <code>std</code> library, and isn't <code>&lt;&lt;</code> usually used to do bits shifting? So, why don't I have to write the scope operator <code>::</code> also before <code>&lt;&lt;</code>, since it is used also with another meaning? How the compiler knows that after <code>std::cout</code>, <code>&lt;&lt;</code> means another thing?</p>