Using Constructor for default member value
<p>In C++11, can do this to initialize an object without using initialization list:</p>

<pre><code> class Z{
   int a=0;
   int b;
   z():b(0){} //&lt;-- a already initialized
   };
</code></pre>

<p>What I'm wondering is for class types, which of these is preferable:</p>

<pre><code> class Z{
   std::vector&lt;int&gt;a=std::vector&lt;int&gt;();
   //or instead:
   std::vector&lt;int&gt;a();
   int b;
   z():b(0){} //&lt;-- a already initialized
   };
</code></pre>
