title: c++ object initialization and constructor semantics
body: <p>Is there a difference between the 2 initailizations of an object.</p>
  
  <pre><code>Object obj(constructor_arguments);
  </code></pre>
  
  <p>or</p>
  
  <pre><code>Object obj = Object(constructor_arguments);
  </code></pre>
  
  <p>Note that the second initialization is not intended to be a pointer with the <code>new</code> operator. It is intended to be a non heap variable. </p>
  
  <p>In GCC both compile and work fine and I'm wondering if there is actually any difference or if both statements are semantically the same.</p>