std::basic_string_view<CharT,Traits>::operator[]
From cppreference.com
< cpp | string | basic string view
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
std::basic_string_view
(C++20)
(C++20)
(C++23)
basic_string_view::operator[]
Constants
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
Deduction guides (C++20)
constexpr const_reference operator[]( size_type pos ) 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. Moreover, if the contract-violation handler returns under "observe" evaluation semantic, the behavior is undefined.
- If the implementation is not hardened, the behavior is undefined.
[edit] Parameters
pos
-
position of the character to return
[edit] Return value
data_
[pos]
[edit] Exceptions
Does not throw.
[edit] Complexity
Constant.
[edit] Notes
Unlike std::basic_string::operator[] , std::basic_string_view::operator[](size()) does not return a reference to CharT().
[edit] 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
[edit] See also
accesses the specified character
(public member function of
(public member function of
std::basic_string<CharT,Traits,Allocator>
) [edit]