C++STL迭代器
2021-04-15
2 min read
C++STL迭代器
迭代器是开发中操作容器的常用工具,大部分迭代器操作在容器类成员函数中可直接使用;
但是有一些操作直接使用容器成员函数中的方法可能并不方便,而C++STL中提供的迭代器辅助函数可简洁实现这些操作;
故以下介绍C++STL中迭代器辅助函数,其与容器中成员函数迭代器相关方法结合使用,可有事半功倍的效果;
其中有四个迭代器辅助函数最为常用,示例代码如下:
#include <iostream>
#include <iterator>
#include <vector>
int main()
{
std::vector<int> vec = {3, 1, 4};
std::vector<int>::iterator it = vec.begin();
auto itBeg = std::begin(vec); // 推荐使用容器类的成员函数
auto itEnd = std::end(vec); // 推荐使用容器类的成员函数
// 以下是迭代器辅助函数最为常用的四种操作
std::advance(it, 1); // 跳转
auto prev_it = std::prev(it); // 上一个
auto next_it = std::next(it); // 下一个
int dis = std::distance(prev_it, next_it); // 两个游标之间距离
std::cout << "*it = " << *it << std::endl;
std::cout << "dis = " << dis << std::endl;
return 0;
}
版权声明:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!