title: How to make_shared a derived class?
body: <p>I want to use the <code>make_shared&lt;T&gt;</code> function with a derived class, like below</p>
  
  <pre><code>class Base {
       public:
       typedef std::shared_ptr&lt;Base&gt; Ptr;
  };
  
  class Derived : public Base {};
  
  Base::Ptr myPtr = std::make_shared(/* Derived() */ );
  </code></pre>
  
  <p>How can I tell make_shared to build such an object?</p>
  
  <p>I want to avoid the classical </p>
  
  <pre><code>Base::Ptr ptr = Base::Ptr(new Derived());
  </code></pre>
  
  <p>To make use of the single alloc in the make_shared function.</p>