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;