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

Функция cbegin

Функция cbegin возвращает константный итератор (const_iterator), указывающий на первый элемент контейнера. В отличие от обычного begin, итератор, полученный через cbegin, запрещает изменение элементов, на которые он указывает. Это полезно, когда нужно гарантировать, что данные не будут случайно изменены при обходе.

Функция не принимает параметров и доступна для всех стандартных контейнеров: vector, string, array, list, map и других.

Синтаксис

container.cbegin()

Пример

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

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

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

1

Пример

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

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

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

1 2 3 4 5

Пример

Попытка изменить значение через константный итератор приведет к ошибке компиляции. Давайте убедимся, что через cbegin можно только читать данные:

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; auto it = str.cbegin(); // *it = 'z'; // ошибка компиляции cout << *it << endl; return 0; }

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

"a"

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

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