It makes no sense to use shared_ptrfor an automatically assigned object.
Technically, you can do this by providing a shared_ptrdeletor that does nothing, and changing yours vtxas a vector of generic pointers to vectors const.
eg. change ad to
vector < shared_ptr <Vector3 const> > vtx;
and adding a pointer as follows:
vtx.push_back( shared_ptr<Vector3 const>( &vt, [](Vector3 const*){} ) );
: , .
, , , raw-. in-data.
. .
, , . .
. 