title: Implicit VS Explicit Conversion
body: <p>The C++ Standard Library by Nicolai M. Josuttis states:</p>
  
  <p>There is a minor difference between</p>
  
  <pre><code>X x;
  Y y(x) //explicit conversion
  </code></pre>
  
  <p>and</p>
  
  <pre><code>X x;
  Y y = x; //implicit conversion
  </code></pre>
  
  <p>Following to say: "The former creates a new object of type Y by using an explicit conversion from type X, whereas the latter creates a new object of type Y by using an implicit conversion."</p>
  
  <p>I'm a little confused about the concepts of explicit vs implicit conversion I guess.  In both cases you're taking an X and pushing it into a Y per se - one uses a Y's constructor and one uses the assignment operator though.</p>
  
  <p>What's the difference in how the conversion is treated in these two cases, what makes it explicit/implicit, and how does this tie into making a class constructor defined with the "explicit" key word, if at all?</p>