vector 释放内存需不需要delete

是否需要delete是看你有没有用new.

具体的几个例子说明:
vector<int> vIntList; //这个是不用delete的.

vector<char*> vPointList;
char *p = new char[100];
vPointList.push_back(p);

//vPointList中的元素都是new出来的, 你需要注意delete.
vector<char*>::iterator it;
for (it = vPointList.begin(); it != vPointList.end(); it++)
 if (NULL != *it) 
    {
        delete *it; 
        *it = NULL;
    }

 
 
 vPointList.clear();


猜你喜欢

转载自blog.csdn.net/qq_36621927/article/details/79101926