1、功能:
- vector数据结构和数组非常相似,也称为单端数组
2、vector与普通数组区别:
- 不同之处在于数组是静态空间,而vector可以动态扩展
3、动态扩展:
- 并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间
4、vector容器的两种赋值操作(构造函数和 =)
#include
#include
#include"myarray.hpp"
#include
#include
using namespace std;
void printVector(vector& v)
{
for (vector::iterator it = v.begin();it != v.end();it++)
{
cout << *it<<" ";
}
cout << endl;
}
void test01()//构造函数赋值操作
{
vector v;//默认构造
for (int i = 0;i < 5;i++)
{
v.push_back(i);
}
printVector(v);
vector v1(v.begin(), v.end());//将v[begin(), end())区间中的元素拷贝给v1
printVector(v1);
vector v2(10, 100); // 构造函数将10个100拷贝给本身。
printVector(v2);
vector v3(v);
printVector(v3);
}
void test02()// =赋值操作
{
vector v;//默认构造
for (int i = 0;i < 5;i++)
{
v.push_back(i);
}
printVector(v);
vector v1;
v1 = v; //=运算符重载
printVector(v1);
vector v2;
v2.assign(v.begin(), v.end());//将[beg, end)区间中的数据拷贝赋值给本身。
printVector(v2);
vector v3;
v3.assign(10,8);//将10个8拷贝给本身。
printVector(v3);
}
int main()
{
test01();//构造函数赋值
test02();// = 赋值
return 0;
}