C++中的基于范围for循环可自动遍历容器元素。语法为for (declaration : range),支持数组、vector等,如int arr[] = {1,2,3,4,5}; for (int x : arr)可依次处理每个元素。

在C++中,”for each”循环通常指的是基于范围的for循环(range-based for loop),这是从C++11标准引入的一种简洁遍历容器或数组的方式。它能自动遍历序列中的每个元素,无需手动管理迭代器或下标。
语法格式
基本语法如下:
for (declaration : range) {
// 循环体
}
-
declaration:声明一个变量,用来接收当前遍历到的元素。可以使用
auto让编译器自动推导类型。 - range:要遍历的对象,比如数组、vector、list等支持迭代的容器。
常见用法示例
1. 遍历数组
int arr[] = {1, 2, 3, 4, 5};
for (int x : arr) {
std::cout << x << " ";
}
// 输出:1 2 3 4 5
2. 使用 auto 自动推导类型
立即学习“C++免费学习笔记(深入)”;

法语写作助手
31
法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。
31
查看详情
std::vector<double> vec = {1.1, 2.2, 3.3};
for (const auto&amp; value : vec) {
std::cout << value << " ";
}
// 推荐对复杂类型使用 const auto&amp; 提高效率
3. 修改容器中的元素(使用引用)
std::vector<int> nums = {10, 20, 30};
for (auto& x : nums) {
x += 5; // 直接修改原元素
}
// nums 变为 {15, 25, 35}
4. 遍历字符串
std::string str = "hello";
for (char c : str) {
std::cout << c << " ";
}
// 输出:h e l o
注意事项
- 如果只是读取元素,推荐使用
const auto&amp;避免不必要的拷贝。 - 需要修改元素时,使用
auto&获取引用。 - 不适用于需要访问索引的场景(如需索引可配合普通for循环或手动计数)。
- 不能用于C风格字符串(char*),但可用于
std::string。
基本上就这些。C++的范围for循环写起来简单,读起来清晰,适合大多数遍历场景。
相关标签:
c++ String for const auto 字符串 char int 循环 风格字符串 对象
大家都在看:
c++怎么使用std::string_view_c++中string_view的高效字符串处理方式
c++中的std::source_location有什么用_c++中std::source_location功能与使用方法
c++中如何实现一个简单的ECS(实体组件系统)_c++中ECS实体组件系统实现方法解析
c++怎么实现归并排序算法_c++归并排序的实现与性能分析
c++怎么用Perf工具进行性能分析_C++程序性能瓶颈分析与Perf使用教程
c++中的std::source_location有什么用_c++中std::source_location功能与使用方法
c++中如何实现一个简单的ECS(实体组件系统)_c++中ECS实体组件系统实现方法解析
c++怎么实现归并排序算法_c++归并排序的实现与性能分析
c++怎么用Perf工具进行性能分析_C++程序性能瓶颈分析与Perf使用教程
本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END

































暂无评论内容