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,