📅  最后修改于: 2023-12-03 15:13:57.581000             🧑  作者: Mango
string
类型在 C++ 中是常用的字符串类型之一,它提供了一系列常用的字符串操作函数。operator[]
是其中一个重要的成员函数,它用于访问字符串中特定位置的字符。该函数返回字符引用,可用于读写操作。
operator[]
的语法如下:
char& operator[](size_t pos);
pos
:0 到 size() - 1
的索引值,对应的字符将被访问。可以用负数对应字符串尾部的字符,如 -1
对应最后一个字符。operator[]
的返回值是字符引用类型,可以读写相关位置的字符。
以下示例演示了如何使用 operator[]
函数提取字符串 str
中的第一个和第二个字符:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World";
char ch1 = str[0];
char ch2 = str[1];
std::cout << "ch1: " << ch1 << std::endl; // 输出:ch1:H
std::cout << "ch2: " << ch2 << std::endl; // 输出:ch2:e
return 0;
}
以下示例演示了如何使用 operator[]
函数修改字符串的某个字符:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello World";
str[0] = 'h';
std::cout << "str: " << str << std::endl; // 输出:str:hello World
return 0;
}
需要注意的是,如果访问的位置超过字符串的长度,程序将产生未定义行为。因此,使用 operator[]
函数时需要保证访问的位置合法。
operator[]
函数是 string
类型非常重要的一个成员函数,它能够访问字符串的特定位置,同时还可以支持修改相关位置的字符。在使用该函数时,需要注意访问的位置是否合法,以避免出现未定义行为。