vector使用

来源:互联网 发布:ubuntu配置jdk环境变量 编辑:程序博客网 时间:2024/05/04 02:58

vector的几个常用函数

resize(size_t size) 可以改变vector的size,如果size>原来size,新增元素为默认值或者提供的值,小于size就保留原来的前size个元素,如果size大于capacity,就会让capacity扩张到size大小


reserve(size_t size)如果size>capacity就扩容,不然就没作用,不改变size大小。


clean() 清除元素,但不一定发生reallocation(),如果想发生reallocation()可以使用vector().swap(x)来完成。


注意:vector想要删除某些元素的时候,常常使用

for(iter = vec.begin(); iter!=vec.end(); ++iter)

{

if(*iter == value)

{

iter = vec.erase(iter);

}else

{

++iter;

}

}

注意,这里不能使用vector<int>::iterator end = vec.end()然后用iter!=end来判断,不然会core。因为删除最后一个元素的时候,vec.end()会发生变化。