27 Strings library [strings]

27.4 String classes [string.classes]

27.4.3 Class template basic_string [basic.string]

27.4.3.6 Element access [string.access]

constexpr const_reference operator[](size_type pos) const; constexpr reference operator[](size_type pos);
Hardened preconditions: pos <= size() is true.
Returns: data()[pos].
Throws: Nothing.
Complexity: Constant time.
constexpr const_reference at(size_type pos) const; constexpr reference at(size_type pos);
Returns: operator[](pos).
Throws: out_of_range if pos >= size().
constexpr const_reference front() const; constexpr reference front();
Hardened preconditions: empty() is false.
Effects: Equivalent to: return operator[](0);
constexpr const_reference back() const; constexpr reference back();
Hardened preconditions: empty() is false.
Effects: Equivalent to: return operator[](size() - 1);