首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector的内存释放有关问题

2012-05-11 
vector的内存释放问题假设有一个vector类型的指针,比如vectorsub_table* pvectorpvectornew vectorsu

vector的内存释放问题
假设有一个vector类型的指针,比如vector<sub_table>* pvector;
pvector=new vector<sub_table>;
然后就是sub_table *p=new sub_table;
然后给*p初始化,然后pvector->push_back(*p);

注意:这里当我用delete pvector; 直接释放掉的时候,
这里的p指针指向的内存有没有释放,如果没有的话用pvector->clear();
可不可以,如果还不行的话怎么办?
这里sub_table是一个结构体。


还有如果vector中存的是一个一个的指针的话,他们它们各有自己new空间的话,这样的vector内存怎么释放,要一个一个的遍历才能释放吗,是不是这样的话,vector::clear();都不行了啊?

[解决办法]
对于vector中sub_table对象,使用clear()是可以进行清理的。
sub_table *p=new sub_table;
这里的p,在你用完之后,要使用delete p;
pvector=new vector<sub_table>;
pvector也需要delete pvector;

热点排行