std::string operator[]
- since C++20
- until C++20
// Non const version
constexpr reference operator[]( size_type pos );
// Const version
constexpr const_reference operator[]( size_type pos ) const;
// Non const version
reference operator[]( size_type pos );
// Const version
const_reference operator[]( size_type pos ) const;
Returns a reference to the element at specified index pos
.
caution
No bounds checking is performed.
- since C++11
- until C++11
If pos == size()
, a reference to the character with value CharT()
(the null character) is returned.
For the first (non-const) version, the behavior is undefined if this character is modified to any value other than CharT()
.
- (1) If
pos == size()
, the behavior is undefined. - (2) If
pos == size()
, a reference to the character with valueCharT()
(the null character) is returned.
Parameters
pos
- position of the character to return
Return value
Reference to the requested character.
Exceptions
(none)
Complexity
Constant - O(1).
Example
Main.cpp
#include <iostream>
#include <string>
int main()
{
std::string const e("Exemplar");
for (unsigned i = e.length() - 1; i != 0; i /= 2)
std::cout << e[i];
std::cout << '\n';
const char* c = &e[0];
std::cout << c << '\n'; // print as a C string
//Change the last character of s into a 'y'
std::string s("Exemplar ");
s[s.size()-1] = 'y'; // equivalent to s.back() = 'y';
std::cout << s << '\n';
}
Output
rmx
Exemplar
Exemplary
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.
Hover to see the original license.