#include <iostream>
#include <vector>
#include <string>
#include <stack>
#include <utility>
#include <map>
using namespace std;
int main()
{
pair<string, int> sipr;
string str("hello");
int var = 1;
vector< pair<string, int> > pvec;
/*
// 方法1
sipr = make_pair(str, var);
pvec.push_back(sipr);
*/
/*
// 方法2
pair<string, int> sipr2(str, var);
pvec.push_back(sipr2);
*/
/*
// 方法3 直接生产pair对象
sipr.first = str;
sipr.second = var;
pvec.push_back(sipr);
*/
//pvec.push_back(pair<string, int>::value_type(str, var));
//cout << pvec[0].first << " " << pvec[0].second << endl;
/*
// 方法4
map<string, int> myMap;
myMap.insert(map<string, int>::value_type(str, var));
map<string, int>::const_iterator iter = myMap.begin();
cout << iter->first << " " << iter->second << endl;
*/
/*
map<string, int> myMap;
myMap.insert(make_pair(str,var));
map<string, int>::const_iterator iter = myMap.begin();
cout << iter->first << " " << iter->second << endl;
*/
map<string, int> myMap;
pair<map<string, int>::iterator, bool> ret = myMap.insert(make_pair(str,var));
cout << ret.first->first << endl;
cout << ret.first->second << endl;
return 0;
}