CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sun, 27 Jul 2025 04:04:36 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/iterator/advance/
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 27 Jul 2025 04:04:37 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"753a-8Kt6nEw6mZ4hHVsWxYspqCif97I"
Content-Encoding: gzip
Advances the iterator it by n element positions.
If it is a random-access iterator, the function uses just once
Output:
Otherwise, linear in n.
Note also the effects on iterator validity described above.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<iterator>
- iterator
- iterator_traits
functions
- advance
- back_inserter
-
beginC++11
- distance
-
endC++11
- front_inserter
- inserter
-
make_move_iteratorC++11
-
nextC++11
-
prevC++11
iterator categories
predefined iterators
- Reference
- <iterator>
- advance
function template
<iterator>
std::advance
template <class InputIterator, class Distance> void advance (InputIterator& it, Distance n);
Advance iterator
If it is a random-access iterator, the function uses just once
operator+
or operator-
. Otherwise, the function uses repeatedly the increase or decrease operator (operator++
or operator--
) until n elements have been advanced.Parameters
- it
- Iterator to be advanced.
InputIterator shall be at least an input iterator. - n
- Number of element positions to advance.
This shall only be negative for random-access and bidirectional iterators.
Distance shall be a numerical type able to represent distances between iterators of this type.
Return value
noneExample
|
|
Output:
The sixth element in mylist is: 50 |
Complexity
Constant for random-access iterators.Otherwise, linear in n.
Iterator validity
Advancing an input iterator that is not at least a forward iterator may invalidate any iterators, pointers and references obtained from its value.Data races
The function modifies the iterator, but it is never dereferenced (no pointed object is accessed by the call).Note also the effects on iterator validity described above.
Exception safety
Throws if any of the arithmetical operations performed on the iterator throws, providing the same level of guarantee as such operations.See also
- distance
- Return distance between iterators (function template)
- next
- Get iterator to next element (function template)
- prev
- Get iterator to previous element (function template)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us