std :: vector指针

时间:2011-12-19 07:13:20

标签: c++ stl

我有一个问题,如果我有一个STL矢量,我可以像

一样写
std::vector<int> *p;

但我无法决定是否会在任何情况下使用它?在这种情况下,如果我通过p?

调整指针向量的大小,那么指针p会发生什么

我可能听起来很愚蠢,但这些问题只是想到了,我能够用g ++编译事物std::vector<int> *p

1 个答案:

答案 0 :(得分:3)

说:

std::vector *p;

您正在声明指向Vector的指针。现在,您需要分配内存位置来保存Vector对象的内存内容,而不是单个元素。之后,您可以根据自己的意愿自由添加,删除,删除和更新单个元素。

至于调整向量的大小,p所指的内存不会发生任何变化,只有与Vector对象相关的内存内容才会发生变化。

这种结构的一个用途是具有动态矢量数组。假设您需要维护节点的邻接列表,但在运行时之前,您无法提前确定将出现多少节点。