C++/Algorytmy w STL/advance()
Z Wikibooks, biblioteki wolnych podręczników.
< C++ | Algorytmy w STL
Spis treści |
[edytuj] advance()
[edytuj] Działanie
advance(i, n) przesuwa zadany iterator i o n pozycji. Jeżeli n > 0 to działanie funkcji sprowadza się do wykonania ++i n-razy, jeżeli n < 0 to działanie sprowadza się do wykonania --i n-razy. Dla n równego 0 wywołanie nie ma żadnego efektu.
[edytuj] Prototyp
template <class InputIterator, class Distance> void advance(InputIterator& i, Distance n);
[edytuj] Przykład
#include <algorithm> #include <list> #include <assert.h> using namespace std; int main(){ list<int> L; L.push_back(0); L.push_back(1); list<int>::iterator i = L.begin(); advance(i, 2); assert(i == L.end()); return 0; }