std::basic_string<CharT,Traits,Allocator>::operator[]
< cpp | string | basic string
(1) | ||
reference operator[]( size_type pos ); |
(C++20 前) | |
constexpr reference operator[]( size_type pos ); |
(C++20 起) | |
(2) | ||
const_reference operator[]( size_type pos ) const; |
(C++20 前) | |
constexpr const_reference operator[]( size_type pos ) const; |
(C++20 起) | |
返回到位于指定位置 pos
的字符的引用。不进行边界检查。若 pos > size() ,则行为未定义。
1) 若 pos == size() ,则行为未定义。
2) 若 pos == size() ,则返回到拥有值 CharT() 的字符(空字符)的引用。
|
(C++11 前) |
若 pos == size() ,则返回到拥有值 CharT() 的字符(空字符)的引用。 对于第一(非 const 版本),若修改此字符为任何异于 CharT() 的值,则行为未定义。 |
(C++11 起) |
参数
pos | - | 要返回的字符位置 |
返回值
到请求字符的引用。
复杂度
常数
示例
运行此代码
#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'; // 作为 C 字符串打印 // 更改 s 的最后字符为 'y' std::string s("Exemplar "); s[s.size()-1] = 'y'; std::cout << s << '\n'; }
输出:
rmx Exemplar Exemplary
参阅
访问指定字符,有边界检查 (公开成员函数) |