C++:vector容器
vector容器与array容器相似,但vector容器是动态的,可以自动扩容。
使用方法和一些注意如下:
#include<iostream>
#include<vector>
using namespace std;int main()
{vector<char> 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<char>::iterator ite = vec.begin();while (ite != vec.end()){cout << *ite << endl;ite++;}return 0;
}
vector的扩容机制
1.分配新内存
2.复制原数据
3.释放就内存
4.更新指针,将vector的指针指向新的内存。
避免内存重新配置的方法:
vector<int> 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:"<<vec.capacity()<<endl;}