c++ 向map添加元素 pair返回问题
#include"stdafx.h"#include<iostream>#include<vector>#include<string>#include<map>usin...
#include "stdafx.h"
#include <iostream>
#include<vector>
#include<string>
#include<map>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
map<string, int>mp;
string word;
while (cin>>word)
{
auto ret = mp.insert({ word, 1 }); //将元素插入map容器
if (!ret.second)
++ret.first->second; //写成ret.second我测试也可以,可是primer为什么这样写
}
for (const auto &c : mp)
cout << c.first << " "<<c.second;
system("pause");
return 0;
}
//请大神再请解释一下ret.first不是第一个pair成员吗?对它解引用得到什么?还是我理解有误
我刚发现我测试的不对。。。。 求告知错在哪里 展开
#include <iostream>
#include<vector>
#include<string>
#include<map>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
map<string, int>mp;
string word;
while (cin>>word)
{
auto ret = mp.insert({ word, 1 }); //将元素插入map容器
if (!ret.second)
++ret.first->second; //写成ret.second我测试也可以,可是primer为什么这样写
}
for (const auto &c : mp)
cout << c.first << " "<<c.second;
system("pause");
return 0;
}
//请大神再请解释一下ret.first不是第一个pair成员吗?对它解引用得到什么?还是我理解有误
我刚发现我测试的不对。。。。 求告知错在哪里 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询