1:创建和初始化vector对象的方法:
(1)分配和指定数目的元素,并对这些元素进行值初始化: vecor<int> ivec(10);//ivec包含10个0值元素。
(2)分配和指定数目的元素,并对这些元素进行值初始化为指定值:vecor<int> ivec(10,1);//ivec包含10个1值元素。
(3)将vector对象初始化为一段元素的副本:int ia[10]=[0,1,2,3,4,5,6,7,8,9];vector<int> ivec(ia,ia+10);//ivec包含10个元素分别为0~9;
(4)将vector对象初始化为另一个vector对象的副本:vector<int> ivec1(10,1);vector<int> ivec2(ivec1);注意:将一个容器复制给另一个容器时,容器类型和元素类型都必须相同。
2::迭代器是一种检查容器内元素并遍历元素的数据类型。每种容器类型都定义了自己的迭代器类型,如vector: Vector<int>::iterator iter;迭代器类型可使用解引用操作符(*操作符)来访问迭代器所指向的元素。解引用操作符返回迭代器当前所指向的元素。
3:begin 和end
c.begin() 返回一个迭代器,它指向容器c的第一个元素。
c.rbegin() 返回一个逆序迭代器,它指向容器c的最后一个元素。
c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置。
c.rend() 返回一个逆序迭代器,它指向容器c的第一个元素的前面位置。
4:
c.push_back(t) 在容器 c 的尾部添加值为 t 的元素。返回 void 类型
c.push_front(t) 在容器 c 的前端添加值为 t 的元素。返回 void 类型 。只适用于 list 和 deque 容器类型.
c.insert(p,t) 在迭代器 p 所指向的元素前面插入值为 t 的新元素。返回指向新添加元素的迭代器
c.insert(p,n,t) 在迭代器 p 所指向的元素前面插入 n 个值为 t 的新元素。返回 void 类型
c.insert(p,b,e) 在迭代器 p 所指向的元素前面插入由迭代器 b 和 e 标记的范围内的元素。返回 void 类型
5:比较的容器必须具有相同的容器类型,而且其元素类型也必须相同。例如,vector<int> 容器只能与 vector<int> 容器比较,而不能与 list<int> 或 vector<int> 容器比较,而不能与 list<int> 或 vector<double> 类型的容器比较。
6:访问元素
c.back() 返回容器 c 的最后一个元素的引用。如果 c 为空,则该操作未定义
c.front() 返回容器 c 的第一个元素的引用。如果 c 为空,则该操作未定义
c[n] 返回下标为 n 的元素的引用 如果 n <0 或 n >= c.size(),则该操作未定义 。只适用于 vector 和 deque 容器
c.at(n) 返回下标为 n 的元素的引用。如果下标越界,则该操作未定义 。只适用于 vector 和 deque 容器
7:删除元素
c.erase(p) 删除迭代器 p 所指向的元素 。返回一个迭代器,它指向被删除元素后面的元素。如果 p 指向容器内的最后一个元素,则返回的迭代器指向容器的超出末端的下一位置。如果 p 本身就是指向超出末端的下一位置的迭代器,则该函数未定义
c.erase(b,e) 删除迭代器 b 和 e 所标记的范围内所有的元素 返回一个迭代器,它指向被删除元素段后面的元素。如果 e 本身就是指向超出末端的下一位置的迭代器,则返回的迭代器也指向容器的超出末端的下一位置
c.clear() 删除容器 c 内的所有元素。返回 void
c.pop_back() 删除容器 c 的最后一个元素。返回 void。如果 c 为空容器,则该函数未定义
c.pop_front() 删除容器 c 的第一个元素。返回 void。如果 c 为空容器,则该函数未定义 。只适用于 list 或 deque 容器
8:赋值与swap
c1 = c2 删除容器 c1 的所有元素,然后将 c2 的元素复制给 c1。c1 和c2 的类型(包括容器类型和元素类型)必须相同
c1.swap(c2) 交换内容:调用完该函数后,c1 中存放的是 c2 原来的元素,c2 中存放的则是 c1 原来的元素。c1 和 c2 的类型必须相同。该函数的执行速度通常要比将 c2 复制到 c1 的操作快
c.assign(b,e) 重新设置 c 的元素:将迭代器 b 和 e 标记的范围内所有的元素复制到 c 中。b 和 e 必须不是指向 c 中元素的迭代器
c.assign(n,t) 将容器 c 重新设置为存储 n 个值为 t 的元素
9 :容器的capacity(容量)与size(长度):
size 指容器当前拥有的元素个数;而 capacity 则指容器在必须分配新存储空间之前可以存储的元素总数。capacity >= size .