推荐使用c++11范围-based for循环遍历字符串,语法简洁且安全;2. 可通过char引用避免拷贝,提升效率;3. 适用于只读或修改字符场景。

在C++中,遍历字符串中的每个字符是常见的操作。可以通过多种方式实现,每种方法都有其适用场景和特点。以下是几种常用的字符串遍历方法。
使用范围-based for 循环(推荐)
C++11 引入了基于范围的for循环,语法简洁,不易出错,是目前最推荐的方式。
- 直接访问字符值,适合只读操作
- 使用引用避免拷贝,提高效率
示例代码:
String str = “Hello”;
for (char c : str) {
cout }
// 使用 const 引用避免拷贝
for (const char& c : str) {
cout }
使用传统 for 循环配合下标
通过索引访问字符串中的每一个字符,适合需要知道当前字符位置的场景。
立即学习“C++免费学习笔记(深入)”;
- 可以灵活控制遍历方向(正序、逆序)
- 支持修改字符串内容
示例代码:
string str = “Hello”;
for (size_t i = 0; i cout }
使用迭代器遍历
利用 string 提供的 begin() 和 end() 迭代器进行遍历,适用于泛型编程或与STL算法配合使用。
- 兼容所有标准容器的遍历方式
- 可区分 const_iterator 用于只读访问
示例代码:
string str = “Hello”;
for (auto it = str.begin(); it != str.end(); ++it) {
cout }
使用指针遍历(C风格)
对于以 ‘


