当前位置: 首页 > news >正文

C++笔记之标准库中用于处理迭代器的`std::advance`和`std::distance`

C++笔记之标准库中用于处理迭代器的std::advancestd::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, 

相关文章:

  • Rust中的collections
  • DeepSeek在学术读写翻译中的独特优势
  • Spring容器扩展点
  • 无线网络数字孪生(Digital Twin for Wireless Networks)
  • Node.js中不支持require和import两种导入模块的混用
  • 进阶——第十六届蓝桥杯嵌入式熟练度练习(eeprom的读写)
  • 【Unity精品插件】NGUI:UI设计传奇工具
  • 动态规划 之 划分型DP
  • 【Java】泛型与集合篇(四)
  • 简易的仿桌面文件夹上传(vue2)
  • AI进展不止于基准:深度解析Grok 3的局限
  • 为AI聊天工具添加一个知识系统 之109 详细设计之50 三性三量三境
  • 数据分析--数据清洗
  • C++ 设计模式-外观模式
  • openharmony中HDF驱动框架关键流程说明-观察者模式
  • Redis7——基础篇(四)
  • 安卓鸿蒙应用开发架构变迁
  • HTML之JavaScript Form表单事件
  • [生活杂项][运动教程]自由泳
  • 【拥抱AI】GPT Researcher的诞生
  • 印度证实印巴已同意停火
  • 中俄弘扬正确二战史观:缅怀历史,重拾初心,阻止悲剧重演
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话
  • 公示!17个新职业、42个新工种亮相
  • 南通市委常委、市委秘书长童剑跨市调任常州市委常委、组织部部长
  • 潘功胜发布会答问五大要点:除了降准降息,这些政策“含金量”也很高