2021-10-26
顺序容器
swap
使用swap对除了array以外的容器进行元素调换很快,因为其元素本身并无变动,只是改变了容器的内部数据结构。元素无变动就意味着,在swap前迭代器所指向的元素不会失效,只是其指向的容器变了,例如swap(a,b),交换之前指向a[3]的迭代器在交换后会指向b[3]
使用swap交换array容器时,会真正交换他们的元素,所以交换前指向a[3]的迭代器交换后依然指向a[3],只是其指向的值变了
而对string进行swap后,其迭代器、引用、指针都会失效
关系运算符
当两容器的大小相同,所包含的元素也都相同,则两容器相等
当两容器大小不同,但小容器的元素都按顺序等于大容器中的元素,则小容器较小
当两容器大小不同,元素不同,则他们的大小取决于第一个不相等的元素的大小
vector<int> a={1,2,3,4},b={1,2,4}; //b>a
泛型算法
在数组中使用find
通常在对容器使用find的时候,是使用容器名.begin()、容器名.end()函数返回指向他们头尾的迭代器,对数组进行find时可以使用:
int a[]={1,2,3};
find(begin(a),end(a),3);
begin(a)返回的是指向a头的指针