1. 引言
C++ STL(Standard Template Library)作为 C++ 标准库的核心部分,其重要性不言而喻。它提供了一系列高效、灵活且可复用的数据结构和算法,极大地提升了开发效率,并使得代码更加易于阅读和维护。
在 STL 中,string 容器是一个至关重要的组成部分,它专为处理字符串而设计,提供了丰富的字符串操作功能。
遍历 string 容器是处理字符串时的基本需求,它允许我们逐一访问和操作字符串中的每个字符,支持复杂的字符串分析任务,并可通过选择合适的遍历方法来优化程序性能。
2. string 容器的基本特性
2.1 string 的定义与初始化
常用的实例化 string 对象方式
//默认构造
string s1;
//带参构造
string s2("hello world");
//隐式类型转换
string s3 = "hello world";
//拷贝构造
string s4 = s1; //与 string s4(s1);等价
3. 遍历 string 容器的常用方法
3.1 使用下标访问遍历
(1)代码示例:
//下标 + []
for (int i = 0; i < s1.size(); i++) {
cout << s1[i] << " ";
}
cout << endl;
(2)补充:size() 函数是计算字符串长度的成员函数。
(3)使用下标遍历实际是调用了运算符重载函数 operator[]。
3.2 使用 std::string 的成员函数 at 遍历
和下标遍历的方式相似,但它允许通过索引访问字符串中的字符,同时提供边界检查。如果试图访问一个超出字符串范围的索引,at 函数会抛出一个 std::out_of_range 异常。
(1)函数原型
(2)代码示例:
// at 函数遍历
for (int i = 0; i < s1.size(); i++) {
cout << s1.at(i) << " ";
}
cout << endl;
3.3 使用迭代器遍历
在 C++ 中,迭代器是一种用于遍历容器(如 std::string)的对象。迭代器提供了对容器元素的访问,并且可以用于读取或修改容器中的元素。使用迭代器遍历 std::string 时,你可以通过迭代器访问字符串中的每个字符。
(1)代码示例


