Are there potential performance penalties for `auto o = SomeType(args)` instead of `SomeType o(args)`? : <p>I'm a great fan of <code>auto</code> and prefer writing <code>auto o = SomeType(args)</code>.</p>

<p>It almost always results in calling a constructor only.</p>

<p>@NathanOliver <a href="http://wandbox.org/permlink/KVmWnL9NJ72rJ2fn" rel="nofollow noreferrer">showed</a> that  <code>-fno-elide-constructors</code> is capable of turning off copy elision and resulting in a call to a constructor and an assignment operator.</p>

<p>Are there real-world cons of writing <code>auto o = SomeType(args)</code>?</p>
