Пространства имён
Варианты
Действия

std::basic_string<CharT,Traits,Allocator>::begin, std::basic_string<CharT,Traits,Allocator>::cbegin

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-элементы
Доступ к элементам
Итераторы
basic_string::beginbasic_string::cbegin
(DR*)
Ёмкость
Операции
Поиск
Константы
Правила вывода (C++17)
Функции, не являющиеся элементами
Ввод/Вывод
Сравнение
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Числовые преобразования
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Вспомогательные классы
 
(1)
iterator begin();
(до C++11)
iterator begin() noexcept;
(начиная с C++11)
(до C++20)
constexpr iterator begin() noexcept;
(начиная с C++20)
(2)
const_iterator begin() const;
(до C++11)
const_iterator begin() const noexcept;
(начиная с C++11)
(до C++20)
constexpr const_iterator begin() const noexcept;
(начиная с C++20)
(3)
const_iterator cbegin() const;
(до C++11)
const_iterator cbegin() const noexcept;
(начиная с C++11)
(до C++20)
constexpr const_iterator cbegin() const noexcept;
(начиная с C++20)

Возвращает итератор на первый символ строки.

begin() возвращает mutable или константный итератор, в зависимости от константности *this.

cbegin() всегда возвращает константный итератор. Это эквивалентно const_cast<const basic_string&>(*this).begin().

range-begin-end.svg

Содержание

[править] Параметры

(нет)

[править] Возвращаемое значение

Итератор на первый символ.

[править] Сложность

Константная.

[править] Примечание

В libstdc++, cbegin() недоступна в режиме C++98.

[править] Пример

#include <iostream>
#include <string>
 
int main()
{
    std::string s("Exemplar");
    *s.begin() = 'e';
    std::cout << s << '\n';
 
    auto i = s.cbegin();
    std::cout << *i << '\n';
//  *i = 'E'; // ошибка: i константный итератор
}

Вывод:

exemplar
e

[править] Отчёты о дефектах

Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 1192 C++98 std::basic_string не имеет функцию-элемент cbegin() добавлена

[править] Смотрите также

возвращает итератор на конец
(public функция-элемент) [править]
возвращает итератор на начало
(public функция-элемент std::basic_string_view<CharT,Traits>) [править]