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 indexpos
.
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 thanCharT()
.- (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.