值得一看
广告
彩虹云商城
广告

热门广告位

c++中的for each循环怎么写_c++范围for循环语法与示例

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

c++中的for each循环怎么写_c++范围for循环语法与示例

在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++免费学习笔记(深入)”;

法语写作助手

法语写作助手

法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。

法语写作助手31

查看详情
法语写作助手

std::vector<double> vec = {1.1, 2.2, 3.3};
for (const auto&amp;amp; value : vec) {
std::cout << value << " ";
}
// 推荐对复杂类型使用 const auto&amp;amp; 提高效率

3. 修改容器中的元素(使用引用)

std::vector<int> nums = {10, 20, 30};
for (auto&amp; 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;amp; 避免不必要的拷贝。
  • 需要修改元素时,使用 auto&amp; 获取引用。
  • 不适用于需要访问索引的场景(如需索引可配合普通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使用教程
温馨提示: 本文最后更新于2025-10-30 18:00:33,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容