一.简言
vector类似于c中的数组,但比数组方便
1.适用类型广
2.可操作性强
3.动态开辟空间
二.构造
vector<int> first;//第一种直接定义<>中可以自己选择类型如float甚至自定义类型(结构体,类)
vector<int> second (4,100);//第二种第一个指定元素个数,第二个指定元素值,即4个100
vector<int> third (second.begin(),second.end());第三种通过迭代器
vector<int> fourth (third);//第四种拷贝赋值
底层实现:
实现效果:
vector<int> s1;
s1.push_back(1);
s1.push_back(2);
s1.push_back(3);
s1.push_back(4);
s1.push_back(5);
s1.push_back(6);
for (int i = 0; i < s1.size(); i++)
{
cout << s1[i];
}
cout << endl;
bit::vector<int>s2(5, 9);
vector<int>::iterator it = s2.begin();
while (it != s2.end())
{
cout << *it;
it++;
}
cout << endl;
vector<int> s3(s1.begin() + 1, s1.end()-1);
for (auto e : s3)
{
cout << e;
}
cout << endl;
vector<int>s4(s3);
for (auto e : s4)
{
cout << e<<endl;
}
三.访问
1.vector与数组访问相似也可以[]访问(对[]进行重载)
2.迭代器访问
实现原理:
四.常用函数操作
实现:
实现: