title: Pointer to unique_ptr - is this a loophole?
body: <p>It seems an easy way to circumvent a <code>unique_ptr</code> is to use a pointer to the <code>unique_ptr</code> object. And that's not difficult. So using the unique_ptr is sort of a gentleman's agreement and not really super enforced?</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;memory&gt;
  using namespace std;
  
  class Box {
    public:
      int num;
  };
  
  void update_box(unique_ptr&lt;Box&gt;* pu);
  
  int main(){
    unique_ptr&lt;Box&gt; b{new Box};
    unique_ptr&lt;Box&gt;* u = &amp;b;
    update_box(u);
    cout &lt;&lt; b-&gt;num &lt;&lt; endl; // Outputs 99.
    return 0;
  }
  
  void update_box(unique_ptr&lt;Box&gt;* pu) {
    (*pu)-&gt;num = 99;
  }
  </code></pre>