cout << "v1.back() = " << v1.back() << endl; iter1 = v1.begin(); cout << *iter1 << endl; iter2 = v1.end()-1; //注意v1.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素 //的正确操作为:v1.end() - 1; cout << *iter2 << endl; return 0; } 输出结...
vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中 2.增加函数 void push_back(const T& x):向量尾部增加一个元素X iterator insert(iterator it,const T& x):向量中迭代器指向元素前增加一个元素x iterator insert(iterator it,int n,const T& x):向量中迭代器指向元素前增加n个相同的...
1. Vector 迭代器首地址与尾地址 begin() 和 end() 2.Vector 迭代器反向的首地址与尾地址 rbegin() 和 rend() 回到顶部 1. Vector 迭代器首地址与尾地址 begin() 和 end() 在代码中可以将迭代器用作参数的位置可以使用 begin() 和 end() 获取地址,如下代码: 1#include <iostream>2#include <vector>...
size() 返回当前元素数量 capacity() 返回当前分配的容量 reserve(size_t n) 预留至少 n 个元素的存储空间 resize(size_t n) 将元素数量调整为 n clear() 清空所有元素 insert(iterator pos, val) 在指定位置插入元素 erase(iterator pos) 删除指定位置的元素 begin() / end() 返回起始/结束迭代器实例...
begin():返回一个当前vector容器中起始元素的迭代器 end():返回一个当前vector容器中末尾元素的迭代器(注意object.end()指向的是最后一个元素的下一个位置,所以访问最后一个元素应该是object.end()-1) front():返回当前vector容器中起始元素的引用 back():返回当前vector容器中末尾元素的引用 ...
begin(), v1.end());//迭代器区间插入 print(v1); v1.insert(v1.end(), { 9,9,9,9,9 });//初始化器插入 print(v1); return 0; } erase erase的作用是删除指定位置的元素或区间。指定的元素或区间都需要用迭代器表示。函数的返回值是删除部分的后一个位置的正向迭代器。 代码举例: 代码...
rend() //将vector反转构的结束指针返回(其实就是原来的begin-1) empty() //判断vector是否为空 swap() //与另一个vector交换数据 a.swap(b); //b为向量,将a中的元素和b中的元素进行整体性交换 reverse(obj.begin(),obj.end());反向迭代器,实现元素对调 ...
assign主要有三种用法,如下面的demo所示: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 vector<int> vec1; vector<int> vec2; vector<int> vec3; vec1.assign(5, 10); //[10,10,10,10,10] vector<int>::iterator it; it = vec1.begin() + 1; vec2.assign(it, vec1.end() ...
对于一个空的vector容器,即不包含任何元素的容器,begin()和end()函数返回的迭代器是相等的。这对于判断一个容器是否为空非常有用。 另外,需要注意的是,如果vector容器是一个常量对象,那么begin()函数将返回一个const指向第一个元素的迭代器,即不能通过这个迭代器修改元素的值。 在使用begin()函数时,需要注意边界...