C++笔记之标准库中用于处理迭代器的std::advance
和std::distance
code review!
文章目录
- C++笔记之标准库中用于处理迭代器的`std::advance`和`std::distance`
- 一.`std::advance`
- 函数原型
- 参数说明
- 使用场景
- 示例代码
- 示例 1:移动 `std::vector` 的随机访问迭代器
- 示例 2:移动 `std::list` 的双向迭代器
- 示例 3:单向输入迭代器(如 `std::istream_iterator`)
- 注意事项
- 总结
- 二.`std::distance`
- 函数原型
- 参数说明
- 返回值
- 使用场景
- 示例代码
- 示例 1:计算 `std::vector` 的迭代器距离
- 示例 2:计算 `std::list` 的迭代器距离
- 示例 3:计算部分范围的距离
- 注意事项
- 时间复杂度
- 总结
一.std::advance
在 C++ 中,std::advance
是一个标准库函数,用于将迭代器向前或向后移动指定的距离。它是定义在头文件 <iterator>
中的一个实用工具函数。
函数原型
template <class InputIterator,