title: What does the double ampersand return type mean?
body: <p>I've stumbled upon such syntax as this:</p>
  
  <pre><code>int&amp;&amp; move(int&amp;&amp; x)
  {
      return x;
  }
  </code></pre>
  
  <p>which is supposedly how the <code>std::move</code> function is implemented, but I don't quite understand what does the return type (&amp;&amp;) actually means.</p>
  
  <p>I did googled it and failed to fail an answer, could someone please explain this to me?</p>
  
  <p>EDIT:</p>
  
  <p>Most of my confusion comes from the fact the return of a function is already an rvalue so I don't understand what &amp;&amp; can change there.. not sure if I make sense or not.</p>