for循环——for(int num : nums)
1.基于范围的for循环的基本语法
在C++11中,为for循环添加了一个container(容器),它就会自动迭代;实现了对于vector型变量vec的内容打印,变量i遍历vector中的每一个元素,
直到vector的结束。
示例:
vector<int> vec; //定义一个vector型变量vec的内容打印
vec.push_back(10); // 向容器vec中添加10个元素
vec.push_back(20); //再向容器vec中添加20个元素
for(int i:vec)
{
cout << i << endl;
}
2.修改vector内容
修改正在遍历的容器里的值,或者避免拷贝大量的对象,基本迭代器就支持,可以将循环变量作为引用调用。
序列中的每个元素都能转换成该变量的类型,最简单的方法是使用auto类型说明符。
示例1:将一个int型的vector对象中每一个元素进行自加
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
for(int& i : vec)
{
//增加vector对象中元素的值
i++;
}
for(int i : vec)
{
//显示更新的数值
cout << i << endl;
}
示例2:
vector<int>v={0,1,2,3,4};
//因为要对v中的元素进行写操作,所以是引用类型
for(auto &r : v)
{
r*= 2;
}
3.基于范围
可以将基于范围的for循环迭代应用到自己定义的数据结构中,但是需要满足一些条件
1> 必须与STL迭代具有相似的工作属性
2>具有begin和end的方法
3>支持操作符:*、!、=、++
for(int &x : a)
{
x *= 2;
}
分类:
C++
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库