title: Why we can't include std headers within a namespace in C++
body: <p>The following code will cause compile errors in g++4.4:</p>
  
  <pre><code>// File test.cpp
  namespace A
  {
      #include &lt;iostream&gt;
  }
  
  int main()
  {
      return 0;
  }
  </code></pre>
  
  <p>I have this requirement because some third party library comes without namespace protected, and if I directly include these headers, my namespace is polluted.<br>
  As a result, I tried to create namespaces for those libraries, but if the library includes some "std headers" the above approach will fail.</p>
  
  <p>Can anybody help?</p>
  
  <p>Thank You!</p>