title: Recommended usage of std::unique_ptr
body: <p>What are recommended uses of a <code>std::unique_ptr</code> as to specifically where, when, and how is it is best used?  </p>
  
  <p>I discovered:</p>
  
  <p><a href="https://stackoverflow.com/questions/8138284/about-unique-ptr-performances">About unique_ptr performances</a></p>
  
  <p>I already know:</p>
  
  <ol>
  <li><code>std::unique_ptr</code> was developed in C++11 as a replacement for <code>std::auto_ptr</code></li>
  <li>That a <code>std::unique_ptr</code> has no reference counting and "owns" object it points to</li>
  <li>There is no copy/assign with a <code>std::unique_ptr</code></li>
  <li>When I need a unique pointer, <code>std::unique_ptr</code> is the go to structure</li>
  </ol>
  
  <p>What I would like to know:</p>
  
  <ol>
  <li>Is using a <code>std::unique_ptr</code> ever preferable (other than uniqueness) to something<br>
     else? What do I gain in this situation?</li>
  <li>If so, under what circumstances and when?</li>
  <li>Given the need for move semantics, would this make a <code>std::unique_ptr</code> less favorable<br>
  overall?</li>
  <li>If a <code>std::shared_ptr</code> would suffice for dynamic memory management in nearly every 
     situation, why does having at my disposal a <code>std::unique_ptr</code> matter (again, other<br>
     than uniqueness)?</li>
  </ol>