title: boost: Initializing shared pointer reset vs make_shared
body: <p>Apart of the size of generated code, what's the difference between using <code>reset()</code> for initializing a shared pointer over the function <code>make_shared()</code>?</p>
  
  <p><strong>Case 1</strong> by using <code>reset()</code></p>
  
  <pre><code>boost::shared_ptr&lt;A&gt; pA;
  pA.reset(new A());
  </code></pre>
  
  <p><strong>Case 2</strong> by using <code>make_shared()</code></p>
  
  <pre><code>boost::shared_ptr&lt;A&gt; pA;
  pA = boost::make_shared&lt;A&gt;();
  </code></pre>
  
  <p>In general, is it a good practice to use <code>reset</code> over <code>make_shared</code> to reduce the size of executable?</p>