用法1
- 代码
#include <iostream>
#include <stdio.h>
#include <map>
using namespace std;
int main()
{
std::map<int, int> mapKeys;
mapKeys[1] = 1;
mapKeys[2] = 2;
mapKeys[3] = 3;
mapKeys[4] = 4;
for(auto it : mapKeys)
{
if(1 == it.first)
{
it.second = 5;
break;
}
}
for(auto it : mapKeys)
{
if(1 == it.first)
{
cout << it.second << endl;;
break;
}
}
return 0;
}
- 编译运行结果
[root@localhost test]# ./testAuto
1
- 总结
"for(auto it : map)"方式不能修改迭代对象的值。
用法2
- 代码
#include <iostream>
#include <stdio.h>
#include <map>
using namespace std;
int main()
{
std::map<int, int> mapKeys;
mapKeys[1] = 1;
mapKeys[2] = 2;
mapKeys[3] = 3;
mapKeys[4] = 4;
for(auto &it : mapKeys) // 此处增加"&"
{
if(1 == it.first)
{
it.second = 5;
break;
}
}
for(auto it : mapKeys)
{
if(1 == it.first)
{
cout << it.second << endl;;
break;
}
}
return 0;
}
- 编译运行结果
[root@localhost test]# ./testAuto
5
- 总结
"for(auto &it : map)"方式能修改迭代对象的值。
文章来源地址https://www.toymoban.com/news/detail-621093.html
文章来源:https://www.toymoban.com/news/detail-621093.html
到了这里,关于c++ for循环中使用auto关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!