char *p = new char[1024];
vector<char*> data;
memcpy(p, "hello world!", strlen("hello world!"));
data.push_back(p);
/*清空存放指针的vector时注意,先释放每个元素的内存,再清空,下面是比较安全的做法*/
vector<char *>::iterator iter = data.begin();
for(; iter != data.end(); ++iter)
{
if (*iter != nullptr)
{
delete[] (*iter);
*iter = nullptr;
}
}
/* 清空vector */
data.clear();
data.shrink_to_fit();
vector中存放new出来的指针对象,不能直接clear,要一个一个释放内存后再clear
于 2022-09-04 11:41:17 首次发布