std::basic_string_view<CharT,Traits>::operator[] - cppreference.com

From cppreference.com

constexprconst_referenceoperator[](size_typepos)const;(since C++17)Returns a const reference to the character at specified location pos.

If pos<size() is false, the behavior is undefined.

(until C++26)If pos<size() is false:

If the implementation is

hardened

, a

contract violation

occurs.

If the implementation is not hardened, the behavior is undefined.

(since C++26)Parameters

pos - position of the character to return Return value

data_

[pos]

Exceptions

Does not throw.

Complexity

Constant.

Notes

Unlike

std::basic_string::operator[]

, std::basic_string_view::operator[](size()) does not return a reference to CharT().

Example

Run this code

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

e y See also

accesses the specified character with bounds checking
(public member function)

[edit]

accesses the specified character
(public member function of std::basic_string<CharT,Traits,Allocator>)

[edit]