title: C++0x unique_ptr replaces scoped_ptr taking ownership?
body: <p>I used to write code like this:</p>
  
  <pre><code>class P {};
  
  class Q: public P {};
  
  class A {
      // takes ownership
      A(P* p): p_(p) {}
  
      scoped_ptr&lt;P&gt; p_;
  };
  
  A a(new Q);
  </code></pre>
  
  <p>With C++0x, should I rewrite class A as:    </p>
  
  <pre><code>class A {
      // takes ownership
      A(unique_ptr&lt;P&gt;&amp;&amp; p): p_(p) {}
  
      unique_ptr&lt;P&gt; p_;
  };
  </code></pre>