title: When should I prefer `shared_ptr` to `make_shared`?
body: <p>As pointed in answers to <a href="https://stackoverflow.com/questions/20895648/difference-in-make-shared-and-normal-shared-ptr-in-c">Difference in make_shared and normal shared_ptr in C++</a>, <code>make_shared</code> outperforms <code>shared_ptr</code> in most cases. </p>
  
  <p>Then why does C++ standard define both <code>shared_ptr</code> and <code>make_shared</code> together? Are there any cases at which I should prefer <code>shared_ptr</code> to <code>make_shared</code> or even at which I can only use <code>shared_ptr</code> but not <code>make_shared</code>?</p>