24 Strings library [strings]

24.4 String view classes [string.view]

24.4.2 Class template basic_­string_­view [string.view.template]

24.4.2.4 Element access [string.view.access]

constexpr const_reference operator[](size_type pos) const;

Requires: pos < size().

Returns: data_­[pos].

Throws: Ничего такого.

[ Note: В отличие от basic_­string​::​operator[], basic_­string_­view​::​operator[](size()) имеет неопределенное поведение вместо возврата charT(). ] end note

constexpr const_reference at(size_type pos) const;

Throws: out_­of_­range если pos >= size().

Returns: data_­[pos].

constexpr const_reference front() const;

Requires: !empty().

Returns: data_­[0].

Throws: Ничего такого.

constexpr const_reference back() const;

Requires: !empty().

Returns: data_­[size() - 1].

Throws: Ничего такого.

constexpr const_pointer data() const noexcept;

Returns: data_­.

[ Note: В отличие от basic_­string​::​data() строковых литералов и, data() может возвращать указатель на буфер, не оканчивающийся нулем. Поэтому переход data() к функции, которая принимает только a const charT* и ожидает строку с завершающим нулем, является ошибкой . ] end note