1、使用下标运算符和迭代器均可以访问string对象的字符或者vector对象的元素。
2、迭代器的特点:
(1)迭代器可以访问某个元素,同时迭代器也可以从一个元素移动到另外一个元素。
(2)迭代器分为有效和无效之分这一点和指针差不多,有效的迭代器或者指向某个元素,或者指向容器尾元素的下一位置;其他的所有情况均属于无效的。
3、如何判断迭代器是否相等?
如果两个迭代器指向的元素相同或者都是同一个容器的尾后迭代器,则他们相等,否则就说这两个迭代器不等。
4、迭代器类型
实际上那些拥有迭代器的标准库类型使用 iterator 和const_iterator来表示迭代器的类型。
例子:
vector<int>::iterator it; //it 能读写vector<int>的元素
string::iterator it2; //it2能读写string对象中的字符
vector<int>::const_iterator it3; //it3只能读元素,不能写元素
string::const_iterator it4; //it4只能读字符,不能写字符
5、begin 和end 运算符
begin和end返回的具体类型由对象是否是常量决定,如果对象是常量,begin和end返回const_iterator;如果对象不是常量返回iterator。