operator+(std::reverse_iterator)
來自 cppreference.com
定義於標頭檔案 <iterator> |
||
template< class Iter > reverse_iterator<Iter> operator+ |
(自 C++17 起為 constexpr) (直至 C++23) |
|
template< class Iter > constexpr reverse_iterator<Iter> operator+ |
(C++23 起) | |
返回迭代器 it 加上 n 的結果。實際上,其底層迭代器減去 n。
目錄 |
[編輯] 引數
要前進的迭代器步數 | - | 迭代器要遞增的位置數 |
要前進的迭代器 | - | 要遞增的迭代器介面卡 |
[編輯] 返回值
reverse_iterator<Iter>(it.base() - n)
[編輯] 示例
執行此程式碼
#include <iostream> #include <iterator> #include <list> #include <vector> int main() { { std::vector v{0, 1, 2, 3}; std::reverse_iterator<std::vector<int>::iterator> ri1{std::reverse_iterator{v.rbegin()}}; std::cout << *ri1 << ' '; // 3 std::reverse_iterator<std::vector<int>::iterator> ri2{2 + ri1}; std::cout << *ri2 << ' '; // 1 } { std::list l{5, 6, 7, 8}; std::reverse_iterator<std::list<int>::iterator> ri1{std::reverse_iterator{l.rbegin()}}; std::cout << *ri1 << '\n'; // 8 // auto ri2{2 + ri1}; // Error: the underlying iterator does not // model random access iterator } }
輸出
3 1 8
[編輯] 參閱
遞增或遞減 reverse_iterator (公開成員函式) | |
計算兩個迭代器介面卡之間的距離 (函式模板) |