在 C++ 中,string是处理字符串的核心容器,它封装了丰富的接口来简化字符串操作。本文将围绕string的**迭代器访问、初始化方式、容量调整(reserve)、反转(reverse)**四大核心功能展开,结合可直接运行的代码和结果验证建议,帮你快速掌握string的实用技巧。
一、迭代器与范围 for:遍历 string 的两种核心方式
string作为 STL 容器的一种,支持迭代器(类似指针的访问工具)和范围 for 两种遍历方式,所有的 STL 容器都可以用以上两种方式遍历,其中范围 for 的底层本质就是迭代器。下面通过代码详细演示两者的用法。
1.1 迭代器遍历:灵活控制访问过程
迭代器的核心作用是'指向容器元素',支持*解引用获取值、++移动到下一个元素,适用于所有 STL 容器(如vector、list等)。
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "asjhjksd"; // 待遍历的字符串
cout << "原字符串:" << s << endl;
// 方式 1:显式声明迭代器类型(string::iterator)
string::iterator it = s.begin(); // begin() 获取指向第一个元素的迭代器
cout << "显式迭代器遍历:";
while (it != s.end()) { // end() 获取指向'最后一个元素的下一个位置'的迭代器
cout << *it << " "; // 解引用获取当前元素
it++; // 移动到下一个元素
}
cout << endl;
// 方式 2:用 auto 简化迭代器类型(推荐)
cout << "auto 简化迭代器遍历:";
for (auto it = s.begin(); it != s.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}


