std::advance
提供: cppreference.com
| Defined in header <iterator>
|
||
| template< class InputIt, class Distance > void advance( InputIt& it, Distance n ); |
||
イテレータitをn要素分インクリメントします。
nが負の場合、イテレータをデクリメントします。その場合、InputItはBidirectionalIteratorの要件を満たしている必要があり、そうでなければ動作は未定義です。
目次 |
[編集] パラメータ
| it | - | 進められる反復子 |
| n | - | 進める要素数 |
| 型の要件 | ||
-InputIt は InputIterator
の要求を満足しなければなりません。 | ||
[編集] 戻り値
(なし)
[編集] 計算量
線形
ただし、InputItがRandomAccessIteratorの要件も満たしている場合は、計算量は定数となります。
[編集] 例
このコードを実行します
#include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v{ 3, 1, 4 }; auto vi = v.begin(); std::advance(vi, 2); std::cout << *vi << '\n'; }
出力:
4
[編集] 参照
| 2つのイテレータの間の距離を返します (関数) | |

