1.如何创建一个vector的模板对象?
vector<type> name; //例如vector<int> rating(5) 一个含5个int型的vector对象
2.如何访问vector对象里的各个元素?
由于运算符[ ]被重载过,因此,创建vector对象后,可以使用通常的数组表示法来访问各个元素。
3.可对vector对象执行哪些操作?
这里详细介绍一些常用的操作。
首先,现有的STL(标准模板库)提供了一组容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干值。STL里的存储的值类型都是相同的;算法是完成特定任务(如对数组排序或在链表中查找特定值)的处方;迭代器能够用来遍历容器对象,类似指针,是一种广义的指针;函数对象可以是类对象或函数指针。
再来解释一下提到的迭代器,举例说明:
vector<int> rating;
pd=rating.begin();//pd就是一个迭代器
//也可以写成 vector<int>::iterator pd=rating.begin(); 或者 auto pd=rating.begin();
*pd=13;
++pd;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面继续说操作:
size()----返回容器中的元素数目;
swap()----交换两个容器的内容;
begin()----返回一个指向容器中第一个元素的迭代器;
end()----返回一个表示超过容器尾的 迭代器,即指向最后一个元素的下一个位置;
insert()----插入操作,接受3个迭代器参数,第一个参数指要插入元素的位置,第二个和第三个指所掺入元素来自另一个容器对象的哪个区间的部分,需要注意的这个区间是一个左闭右开区间;
erase()----删除操作,接受2迭代器参数,删除从第一个和第二个参数区间的元素,同样是左闭右开区间;