C++:vector容器

vector容器与array容器相似,但vector容器是动态的,可以自动扩容。

使用方法和一些注意如下:

#include
#include
using namespace std;


int main()
{
	vector vec = { 'a','b','c','d' };

	vec[4] = 'e';//不能以此方法扩容

	vec.push_back('e');//添加

	///*for (int i = 0; i < vec.size(); i++)
	//{
	//	cout << vec[i] << endl;
	//}*/

	vector::iterator ite = vec.begin();
	while (ite != vec.end())
	{
		cout << *ite << endl;
		ite++;
	}

	
	return 0;
}

vector的扩容机制

1.分配新内存

2.复制原数据

3.释放就内存

4.更新指针,将vector的指针指向新的内存。

避免内存重新配置的方法:

vector vec;
	cout << "size:" << vec.size() << "capacity:" << vec.capacity() << endl;
	//size:用了多少 capacity:能用多少
	vec.reserve(15);//指定大小
	for (int i = 0; i < 20; i++)
	{
		vec.push_back(i);
		cout << "size:" << vec.size() << "capacity:"<

你可能感兴趣的:(c++,开发语言)