关于pair与容器问题
读入一系列string和int类型数据,储蓄在pair类型中,再把pair放在vector容器中
我这样写对不??
头文件pair_lei
#ifndef PAIR#define PAIR//读入一系列string和int数据,把每一组储蓄在pair对象中#include <string>#include <utility>using namespace std;pair<string,int> pair_lei(string stringname,int intnum){ pair<string,int> a(stringname,intnum); return a;}#endif
//把这些pair对象存蓄在vector容器中#include "stdafx.h"#include <iostream>#include <vector>#include "pair_lei.h"int main(){ string stringname; int intnum; vector< pair<string,int> > b; while(cin>>stringname>>intnum){ b.push_back(pair_lei(stringname,intnum)); } return 0;}
//°ÑÕâЩpair¶ÔÏó´æÐîÔÚvectorÈÝÆ÷ÖÐ#include <iostream>#include <vector>#include <string>#include <utility>using namespace std;pair<string,int> pair_lei(string stringname,int intnum){ pair<string,int> a(stringname,intnum); return a;}int main(){ string stringname; int intnum; int num=0; vector< pair<string,int> > b; while(num<3) { cin>>stringname>>intnum; b.push_back(pair_lei(stringname,intnum)); num++; } pair<string,int> p; for (vector< pair<string,int> >::iterator it = b.begin();it!=b.end();it++) { p = *it; cout<<p.first<<p.second <<endl; } system("pause"); return 0;}
[解决办法]
可以写得简单点
[code=C/C++][/code]
#include<iostream>
#include<vector>
#include<string>
#include<utility>
using namespace std;
void mian(){
vector< pair<string,int> > b;
string stringname;
int intnum;
while (cin>>stringname>>intnum){
b.push_back(make_pair(stringname,intnum);
}
}