访问角色

有几种方法可以从 std::string 中提取字符,每种方法都略有不同。

std::string str("Hello world!");

操作符[](n)的

返回对索引 n 处的字符的引用。

std::string::operator[] 未经过边界检查,也不会抛出异常。调用者负责声明索引在字符串的范围内:

char c = str[6]; // 'w'

在(n)的

返回对索引 n 处的字符的引用。

std::string::at 边界检查,如果索引不在字符串范围内,则会抛出 std::out_of_range

char c = str.at(7); // 'o'

Version >= C++ 11

注意: 如果字符串为空,这两个示例都将导致未定义的行为

面前()

返回对第一个字符的引用:

char c = str.front(); // 'H'

背部()

返回对最后一个字符的引用:

char c = str.back(); // '!'