Программисты больше не нужны!
Нужны ИИ инженеры! Хотите научиться? Вступайте в канал!
319 of 824 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить