title: What's the difference between explicit and implicit assignment in C++
body: <pre><code>int value = 5; // this type of assignment is called an explicit assignment
  int value(5); // this type of assignment is called an implicit assignment
  </code></pre>
  
  <p>What is the difference between those, if any, and in what cases do explicit and implicit assignment differ and how?</p>
  
  <hr>
  
  <p><a href="http://weblogs.asp.net/kennykerr/archive/2004/08/31/Explicit-Constructors.aspx" rel="noreferrer">http://weblogs.asp.net/kennykerr/archive/2004/08/31/Explicit-Constructors.aspx</a></p>
  
  <p>EDIT: I actually just found this article, which makes the whole thing a lot clearer... and it brings up another question, should you (<em>in general</em>) mark constructors taking a single parameter of a primitive type - numeric/bool/string - as explicit and leave the rest as they are (of course keeping watch for gotchas such as constructors like <code>(int, SomeType = SomeType())</code>?</p>