title: What is the difference between "using std::string" and "#include <string>"
body: <p>I am newly learning C++, I do not really understand the difference between putting <code>using std::string</code> vs <code>#include &lt;string&gt;</code> at the top of my main file.</p>
  <p>I seem to be able to define strings without having <code>#include &lt;string&gt;</code> here:</p>
  <pre><code>#include &lt;iostream&gt;
  using std::cout; using std::cin;
  using std::endl;
  using std::string;
  
  int main()
  {
      string s = &quot;hi&quot;;
      cout &lt;&lt; s;
      return 0;
  }
  </code></pre>
  <p>This seems to run without issue, so why would I have <code>#include &lt;string&gt;</code>?</p>