std::basic_string_view<CharT,Traits>::operator[] (3) - Linux Manuals

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

NAME

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

Synopsis


constexpr const_reference operator[](size_type pos) const; (since C++17)


Returns a const reference to the character at specified location pos.
No bounds checking is performed: the behavior is undefined if pos >= size().

Parameters


pos - position of the character to return

Return value


Const reference to the requested character

Exceptions


Does not throw

Complexity


Constant.

Notes


Unlike std::basic_string::operator[], std::basic_string_view::operator[](size()) has undefined behavior instead of returning CharT().

Example


// Run this code


  #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';
  }

Output:


  e
  y

See also


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