std::distance — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
(до C++17) | |
|
|
(начиная с C++17) | |
Возвращает количество шагов от first до last.
.
Параметры
|
Если от |
(до C++11) |
|
Если |
(начиная с C++11) |
| first | — | итератор, указывающий на первый элемент |
| last | — | итератор, указывающий на последний элемент |
| Требования к типам | ||
-InputIt должен соответствовать требованиям InputIterator. Если InputIt удовлетворяет RandomAccessIterator, операция производится эффективнее (см. Сложность)
| ||
Возвращаемое значение
Количество инкрементов first, чтобы дойти до last. Результат может быть отрицательным, если используются RandomAccessIterator, и от last можно попасть к first (начиная с C++11)
Сложность
Линейная.
Если InputIt соответствует требованиям RandomAccessIterator, сложность константная.
Пример
#include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v{ 3, 1, 4 }; auto distance = std::distance(v.begin(), v.end()); std::cout << distance << '\n'; }
Вывод: