title: Copy vector of object to vector of shared_ptrs
body: <p>I have a simple struct and vector of its objects.
  And I want to move all objects to the vector of shared_ptrs.
  I don't need the initial vector anymore.
  I presented you with my situation.</p>
  <p>Is my approach correct? I want to do this the most effective way:</p>
  <pre><code>struct MyStruct
  {
      int i_;
      std::string s_;
  };
  
  void copyVector(std::vector&lt; MyStruct&gt;&amp;&amp; vt)
  {
      std::vector&lt;std::shared_ptr&lt;MyStruct&gt;&gt; ptrsVt;
  
  
      for (auto&amp; v : vt)
          ptrsVt.push_back(std::make_shared&lt;MyStruct&gt;(std::move(v)));
  
      // ...
  }
  
  void processing()
  {
      std::vector&lt;MyStruct&gt; vt = getVectorFromSomewhere();
  
      copyVector(std::move(vt));
  }
  </code></pre>