提示
这是本书首次介绍迭代器。后面章节还会专门讲述迭代器的相关内容。通过学习本章的内容,读者应对迭代器有个大致了解。
理解迭代器是理解STL的关键所在。模板使得算法独立于存储的数据类型,而迭代器使得算法独立于使用的容器类型。STL定义了5种迭代器,根据所需的迭代器类型对算法进行描述。这5种迭代器分别是:输入迭代器、输出迭代器、正向迭代器、双向迭代器和随机访问迭代器。对于这5种迭代器不仅可以执行解除引用操作(∗操作符),还可进行比较。本节主要讲述basic_string(或string类)中迭代器的使用。
basic_string和string类均提供了常规的迭代器和反向迭代器。string是字符的有序群集。C++标准库为string提供了相应接口,便于将字符串作为STL容器使用。可以使用迭代器遍历string内的所有字符;也可以使用其他算法遍历string内的所有字符。而且能够访问字符串中的每个字符,并对这些字符进行排序、逆向重排、找出最大值等操作。
string类的迭代器是随机存取迭代器,即支持随机存取。任何一个STL算法都可与其搭配使用。通常string的“迭代器型别”由stringclass本身定义,通常可以被简单地定义为一般指针。对迭代器而言,如果发生重新分配,或其所指的值发生某些变化时,迭代器会失效。
string类中和使用迭代器相关的成员函数是很多的,主要包括begin()、end()、rbegin()、rend()、append()、assign()、insert()、erase()、replace()等。下面通过例2-14说明迭代器在string类中的使用方法。
例2-14(www.xing528.com)
例2-14的执行效果如图2-12所示。
图2-12 例2-14的执行效果
总结
上述内容对迭代器在string类及其相关成员函数中的使用做了详细的描述。希望读者认真体会。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。