C++ Primer(第5版) 练习 11.22
练习 11.22 给定一个map<string, vector<int>>,对此容器的插入一个元素的insert版本,写出其参数类型和返回类型。
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
/*************************************************************************
> File Name: ex11.22.cpp
> Author:
> Mail:
> Created Time: Sun 07 Apr 2024 02:18:57 PM CST
************************************************************************/
#include<iostream>
#include<iomanip>
#include<string>
#include<vector>
#include<map>
#include<iterator>
using namespace std;
int main(){
map<string, vector<int>> map;
string word;
int count;
while(cin>>word>>count){
vector<int> num;
num.push_back(count);
auto ret = map.insert({word, num});
if(!ret.second){
ret.first->second.push_back(count);
}
}
cout<<"word"<<" "<<"page"<<endl;
for(const auto m : map){
cout<<setw(8)<<left<<m.first<<" ";
for(const auto w : m.second){
cout<<w<<" ";
}
cout<<endl;
}
return 0;
}
解释
参数类型为pair<string, vector<int>>,返回类型为pair<map<string, vector<int>>::iterator, bool>。