title: Differences between std::make_unique and std::unique_ptr with new internally
body: <p>This question is a follow up to <a href="https://stackoverflow.com/q/22571202/5909613">this question</a>.</p>
  
  <p><a href="https://stackoverflow.com/a/22571331/5909613">The accepted answer</a> states:</p>
  
  <blockquote>
    <p><code>make_unique</code> is safe for creating temporaries whereas with explicit use of <code>new</code> you have to remember the rule about not using unnamed temporaries</p>
  </blockquote>
  
  <p>I get the rough idea what is meant by this and I understand the example given, but how exactly does this work internally? What do these functions do exactly and where is the difference?</p>