title: Purpose of shared_ptr<T>&& as constructor argument
body: <p>This question extends a previous <a href="https://stackoverflow.com/questions/10458235/purpose-of-const-boostshared-ptrt-as-function-argument">post</a> discussing the usefulness of <code>boost::shared&lt;T&gt;&amp;</code> as a constructor argument:  </p>
  
  <pre><code>class SomeClass {  
      SomeClass( const boost::shared_ptr&lt;SomeOtherClass&gt;&amp; );  
  } 
  </code></pre>
  
  <p>Would an rvalue reference argument in place of the <code>boost::shared_ptr&lt;T&gt;&amp;</code> offer any advantage?  </p>
  
  <pre><code>class SomeClass {  
      SomeClass( const boost::shared_ptr&lt;SomeOtherClass&gt;&amp;&amp; );  
  }    
  </code></pre>
  
  <p>In particular, for a multithreaded setting, would a constructor with an rvalue reference of shared_ptr type be any more useful then pass-by-value or pass-by-reference?</p>