1

我有一个空指针

void *vp;

我想将它指向作为引用传递vec_A的函数内部vec_A,即

some_function(std::vector<boost::shared_ptr<A> >& vec_A)
{
   void *vp;
   //now i want vp to point to vec_A
}

在我指向之后,我vp如何vec_A把它找回来

 std::vector<boost::shared_ptr<A> > 
4

1 回答 1

5

地址和演员表:

void * vp = &vec_A;   // address-of

std::vector< boost::shared_ptr<A> > & v =
     *static_cast< std::vector< boost::shared_ptr<A> >* >(vp);

现在v是对您在上面一行中获取的地址的同一个向量的引用。

于 2012-09-19T20:12:02.037 回答