title: Create a copy of objects pointed to by elements of a vector of shared_pointers
body: <p>I have a class <code>customClass1</code> with a property that is a <code>std::vector&lt;std::shared_ptr&lt;customClass2&gt;&gt;</code>.</p>
  
  <p>How can I make a copy of a <code>customClass1</code> object that contains pointers to <em>identical copies</em> of the objects pointed to by the elements of the first <code>std::vector&lt;std::shared_ptr&lt;customClass2&gt;&gt;</code>?</p>
  
  <p>I <em>don't</em> want to simply make copies of the pointers contained in the vector. I want to actually make copies of the objects that the pointers are pointing to, and then have pointers to these new objects stored in my second <code>customClass1</code> object's vector property.</p>