std::experimental::basic_string_view<CharT,Traits>:: operator[]
Technical Specification | ||||
Filesystem library (filesystem TS) | ||||
Library fundamentals (library fundamentals TS) | ||||
Library fundamentals 2 (library fundamentals TS v2) | ||||
Library fundamentals 3 (library fundamentals TS v3) | ||||
Extensions for parallelism (parallelism TS) | ||||
Extensions for parallelism 2 (parallelism TS v2) | ||||
Extensions for concurrency (concurrency TS) | ||||
Extensions for concurrency 2 (concurrency TS v2) | ||||
Concepts (concepts TS) | ||||
Ranges (ranges TS) | ||||
Reflection (reflection TS) | ||||
Mathematical special functions (special functions TR) | ||||
Experimental Non-TS | ||||
Pattern Matching | ||||
Linear Algebra | ||||
std::execution | ||||
Contracts | ||||
2D Graphics |
|
|
constexpr
const_reference operator
[
]
(
size_type pos
)
const
;
|
(library fundamentals TS) | |
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[]
,
basic_string_view::operator[](size())
has undefined behavior instead of returning
CharT()
.
Example
#include <iostream> #include <experimental/string_view> int main() { std::string str = "Exemplar"; std::experimental::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
access specified character with bounds checking
(public member function) |