title: C++ string initialization
body: <p>I've seen a statement according to which</p>
  
  <pre><code>string noun("ants");
  string noun = "ants";
  </code></pre>
  
  <p>are exactly equivalent.</p>
  
  <p>This is contrary to my intuition: I thought in the second case a conversion occurs (via a constructor of the <code>string</code> class), then the assignment operator gets called with an argument of class <code>string</code>. What is there actually happening ?</p>