std::vector::emplace_back and std::move
<p>Is there any advantage of using <code>std::vector::emplace_back</code> and <code>std::move</code> together? or it is just redundant since <code>std::vector::emplace_back</code> will do an inplace-construction?</p>

<p>Cases for clarification:</p>

<pre><code>std::vector&lt;std::string&gt; bar;
</code></pre>

<p><strong>First:</strong></p>

<pre><code>bar.emplace_back(std::move(std::string("some_string")));
</code></pre>

<p><strong>Second:</strong></p>

<pre><code>std::string str("some_string");
bar.emplace_back(std::move(str));
</code></pre>

<p><strong>Third:</strong></p>

<pre><code>bar.emplace_back(std::move("some_string"));
</code></pre>