c++11 基于范围遍历map时 调用函数传递的参数

C++11引入的范围遍历在遍历map时,自动推导的变量类型为map中存储值的类型。由于范围遍历无法直接修改元素,若需修改,需在for循环中使用引用。当传递pair引用时,需注意第一个参数应为const。测试程序展示了如何在遍历过程中修改map的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c++11 中新增的基于范围循环,具有自动推导类型的功能,推导出来的变量类型为容器中存储的值得类型。
例如:下面程序中推导出来的b的类型为int

由map中的数据插入方法可知对于map<int,int>类型的容器来说,auto的类型应该是:
在这里插入图片描述
注意不能通过基于范围的for循环变量修改容器内元素的值
如果需要通过该变量修改容器中的值,则需要在for循环声明变量时加引用
在这里插入图片描述
此时传递pair<int,int>引用时需注意:pair的第一个参数需要加const(按值传递时不需要)
在这里插入图片描述
测试程序输出如下:

可以看到main函数中map的值已经被修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值