РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
322 of 815 menu

Функция ranges::begin

Функция ranges::begin возвращает итератор, указывающий на первый элемент диапазона. В первый параметр мы передаем диапазон, для которого нужно получить начальный итератор. Функция поддерживает обычные контейнеры, C-массивы, а также представления из библиотеки ranges.

В отличие от std::begin, функция ranges::begin учитывает требования концепта range и корректно работает с временными диапазонами, у которых есть перегрузка для rvalue. Она также запрещает вызов для rvalue-контейнеров, чтобы избежать висячих итераторов.

Синтаксис

ranges::begin(range)

Пример

Давайте получим итератор на начало вектора и выведем первый элемент:

#include <iostream> #include <vector> #include <ranges> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; auto it = ranges::begin(vec); cout << *it << endl; return 0; }

Результат выполнения кода:

1

Пример

Давайте получим итератор на начало C-массива и выведем его первый элемент:

#include <iostream> #include <ranges> using namespace std; int main() { int arr[] = {1, 2, 3, 4, 5}; auto it = ranges::begin(arr); cout << *it << endl; return 0; }

Результат выполнения кода:

1

Пример

Давайте переберем все элементы вектора с помощью итераторов, полученных через ranges::begin и ranges::end:

#include <iostream> #include <vector> #include <ranges> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; for (auto it = ranges::begin(vec); it != ranges::end(vec); ++it) { cout << *it << " "; } return 0; }

Результат выполнения кода:

1 2 3 4 5

Смотрите также

  • функция ranges::end,
    которая возвращает итератор на конец диапазона
  • функция begin,
    которая возвращает итератор на начало контейнера
  • функция cbegin,
    которая возвращает константный итератор на начало
  • функция ranges::end,
    которая возвращает страж диапазона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить