使用下标运算符可以访问string对象的字符或vector对象的元素,还有另外一种更为通用的机制也可以实现同样的目的,就是迭代器(iterator)。所有标准库类型都可以使用迭代器类型,但是其中少数几种才同时支持下标运算符。严格来说,string对象不属于容器,但是string支持很多与容器类型类似的操作,
使用迭代器
和指针不一样的是,获取迭代器不是使用取地址符,有迭代器的类型同时拥有返回迭代器的成员,这些类型都拥有begin和end的成员
*iter 返回迭代器iter所指元素的引用
iter->mem 解引用iter并获取该元素的名为mem的成员,等价于(*iter).mem
++iter 令iter指向容器中下一个元素
--iter
iter1 == iter2
iter1 != iter2