六:查找
vector<int>::iterator it = find(v.begin(), v.end(), 5);
if(it != v.end())
{
cout << "found";
}
else
{
cout << "not found";
}
七:删除
for(vector<int>::iterator it=v.begin(); it != v.end(); it++)
{
if(*it == 8)
{
it = v.erase(it);//it会++一次
it--; //删除完后需要--,否则最终循环越界
}
}
八:释放内存
存放整形vector释放
//存放整型
vector<int> v;
for (int i=0; i<100; i++)
{
v.push_back(i);
}
//释放内存
{
vector<int> vEmpty;
v.swap(vEmpty);
}
存放结构体vector释放
//存储结构体
vector<Student> vStu1;
for (int i=0; i<10; i++)
{
Student stu;
strcpy(stu.name, "woniu201");
stu.age = 30 + i;
vStu1.push_back(stu);
}
//释放内存
{
vector<Student>
}
vector<Student> vEmpty;
vStu1.swap(vEmpty);
存放结构体指针vector释放
//存储结构体指针
vector<Student*> vStu2;
for (int i=0; i<10; i++)
{
Student* pStu = (Student*)malloc(sizeof(Student));
strcpy(pStu->name, "wangpengfei");
pStu->age = 30 + i;
vStu2.push_back(pStu);
}
//释放内存
for (vector<Student*>::iterator it = vStu2.begin(); it != vStu2.end(); it++)
{
if (NULL != *it)
{
delete *it;
*it = NULL;
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ASPKU的支持。
注:相关教程知识阅读请移步到C++教程频道。










