title: Can std::string be used without #include <string>?
body: <p>Here is my code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  int main(int argc, char const *argv[])
  {
      std::string s = "hello";
      std::cout &lt;&lt; s.size() &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>
  
  <p>To my surprise, I can compile and run it with <code>clang++</code>, though I even don't add <code>#include &lt;string&gt;</code>.</p>
  
  <p>So, is it necessary to add <code>#include &lt;string&gt;</code> in order to use <code>std::string</code> ?</p>