title: Does this use of std::make_unique lead to non-unique pointers?
body: <p>Suppose I have the following code in C++:</p>
  
  <pre><code>#include &lt;memory&gt;
  #include &lt;iostream&gt;
  
  struct Some {
          Some(int _a) : a(_a) {}
          int a;
  };
  
  int main() {
          Some some(5);
  
          std::unique_ptr&lt;Some&gt; p1 = std::make_unique&lt;Some&gt;(some);
          std::unique_ptr&lt;Some&gt; p2 = std::make_unique&lt;Some&gt;(some);
  
          std::cout &lt;&lt; p1-&gt;a &lt;&lt; " " &lt;&lt; p2-&gt;a &lt;&lt; std::endl;
          return 0;
  }
  </code></pre>
  
  <p>As I understand, unique pointers are used to guarantee that resources are not shared. But in this case both <code>p1</code> and <code>p2</code> point to the same instance <code>some</code>.</p>
  
  <p>Please unveil the situation.</p>