Namespaces
Variants

std::basic_string_view<CharT,Traits>:: operator[]

From cppreference.net
constexpr const_reference operator [ ] ( size_type pos ) const ;
(начиная с C++17)

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

Если pos < size ( ) равно false , поведение не определено.

(до C++26)

Если pos < size ( ) равно false :

  • Если реализация является защищённой , происходит нарушение контракта . Более того, если обработчик нарушения контракта возвращает управление при семантике оценки "observe", поведение не определено.
  • Если реализация не является защищённой, поведение не определено.
(начиная с C++26)

Содержание

Параметры

pos - позиция возвращаемого символа

Возвращаемое значение

data_  [ pos ]

Исключения

Не вызывает исключений.

Сложность

Константа.

Примечания

В отличие от std::basic_string::operator[] , std :: basic_string_view :: operator [ ] ( size ( ) ) не возвращает ссылку на CharT ( ) .

Пример

#include <iostream>
#include <string_view>
int main()
{
    std::string str = "Exemplar";
    std::string_view v = str;
    std::cout << v[2] << '\n';
//  v[2] = 'y'; // Error: cannot modify through a string view
    str[2] = 'y';
    std::cout << v[2] << '\n';
}

Вывод:

e
y

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

обращается к указанному символу с проверкой границ
(публичная функция-член)
обращается к указанному символу
(публичная функция-член std::basic_string<CharT,Traits,Allocator> )