标准库为每一种标准容器(包括vector)定义了一种迭代器类型。迭代器类型提供了比下标操作更一般化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代C++程序更倾向于使用迭代器而不是下标操作访问容器元素,即使对支持下标操作的vector类型也这样。
1、迭代器
现代的C++程序应尽量使用vector以及迭代器类型,避免使用低级的数组和指针
迭代器应用示例:
普通写法:
//reset all elements in ivec to 0
for (vecotr
ivec[ix]=0;
使用迭代器:
for(vector
*iter=0;//set element to which iter refers to 0
for循环首先定义了iter,并i将它初始化为指向ivec的第一个元素。for循环的条件测试iter是否与end操作返回的迭代器不等。每次迭代iter都自增1,这个for循环的效果是从ivec第一个元素开始,顺序处理vector中的每一个元素。