title: Are there any downsides with using make_shared to create a shared_ptr
body: <p>Are there any downsides with using <code>make_shared&lt;T&gt;()</code> instead of using <code>shared_ptr&lt;T&gt;(new T)</code>.</p>
  
  <p><a href="http://www.boost.org/doc/libs/1_41_0/libs/smart_ptr/make_shared.html" rel="noreferrer">Boost documentation</a> states </p>
  
  <blockquote>
    <p>There have been repeated requests from
    users for a factory function that
    creates an object of a given type and
    returns a shared_ptr to it. Besides
    convenience and style, such a function
    is also exception safe and
    considerably faster because it can use
    a single allocation for both the
    object and its corresponding control
    block, eliminating a significant
    portion of shared_ptr's construction
    overhead. This eliminates one of the
    major efficiency complaints about
    shared_ptr.</p>
  </blockquote>