指向std::矢量对象的指针



我需要执行以下操作:

std::vector<std::string> A; 
std::vector<std::string> B;

==> pointer_to_vector<std::string> ptr;
//Some Code
ptr = A; //ptr points to object A
//Some More Code
ptr = B; // //ptr points to object B

在编程过程中,ptr需要在不同的时间同时引用AB。它将如何实现,考虑到std::vector进行了重新分配,如何在这里使用智能指针?

定义指向向量的指针的方式与定义指向任何其他类型的指针的方法相同-在指针声明中使用*,并使用运算符的&地址来获取要分配给指针的变量的内存地址,例如:

std::vector<std::string> A; 
std::vector<std::string> B;

std::vector<std::string> *ptr;
//Some Code
ptr = &A; //ptr points to object A
//Some More Code
ptr = &B; // //ptr points to object B

或者,如果任何对象出于自身目的过载operator&(std::vector没有(,则使用std::addressof(),例如:

//Some Code
ptr = std::addressof(A); //ptr points to object A
//Some More Code
ptr = std::addressof(B); // //ptr points to object B

相关内容

  • 没有找到相关文章

最新更新