title: Does std::vector.push_back(std::move(foo)) make sense?
body: <p>I have come across this in some code (details eliminated for clarity):</p>
  
  <pre><code>std::vector&lt;std::vector&lt;int&gt;&gt; foo;
  {
      std::vector&lt;int&gt; bar = {42};
      foo.push_back(std::move(bar)); // Hmmm...
  } // Indicate `bar` is no longer needed.
  </code></pre>
  
  <p>The <code>std::move</code> looks unnecessary to me, but is it? Is the behaviour any different from just <code>foo.push_back(bar);</code>? What if instead of an <code>int</code> the element is a class such as <a href="http://docs.pointclouds.org/trunk/structpcl_1_1_point_x_y_z.html" rel="noreferrer"><code>pcl::PointXYZ</code></a> as it is in my actual code?</p>
  
  <p><strong>UPDATE</strong>: I have altered the code to more explicitly indicate that <code>bar</code> is not used after the <code>std::move</code>, so there is no illegal access, etc, risk.</p>