首页 > 代码库 > C++ Primer笔记 容器和算法(2)

C++ Primer笔记 容器和算法(2)

erase 删除后  返回的是删除元素的后一个迭代器位置
int main()
{
	//如何正确的删除所有元素 循环
	int a[]={1,2,3,4,5,6,7,8,9};
	vector<int> v(a,a+6);
	for(vector<int>::iterator it=v.begin();it!=v.end();)
	{
		it=v.erase(it);
	}
	for(vector<int>::iterator it=v.begin();it!=v.end();it++)
	{
		cout<<*it<<endl;
	}
	cout<<v.size()<<endl;
	getchar();
	return 0;
}




重置元素和交换元素


c.swap(c2)


c.assign(b,e)


c.assign(n,t)  (迭代器不能是指向c的)


容器可以自动增长


像vector这种增长代价比list要大


capacity()和reserve()


一般会预留比size大的空间,当不得不重新分配内存时候,会加倍当前容量的分配策略
也可以手动reserve(size) 分配


deque可以随机访问


P289

C++ Primer笔记 容器和算法(2)