直接上一个小例子:
#include <iostream>
#include <string>
#include <map>
#include <iomanip>
using namespace std;
template<typename T>
using twin = pair<T,T>;
template<typename T>
using scoreNo = pair<T,unsigned>;
int main()
{
map<string,unsigned> score;
score.insert ( pair<string,unsigned>("Anna",100) );
score.insert ( pair<string,unsigned>("Lucy",200) );
score.insert(scoreNo<string>("Lee",100));//等价于pair<string,unsigned>("Lee",100);
score.insert(scoreNo<string>("Tom",90));
//迭代器遍历
for(auto it = score.begin();it!=score.end();it++){
cout<<setiosflags(ios::left)<<setw(10)<<it->first<<":"<<it->second<<"分"<<endl;//setiosflag(左对齐),setw(域宽)
}
//for遍历
for(auto &w:score)
cout<<setiosflags(ios::left)<<setw(10)<<w.first<<":"<<w.second<<"分"<<endl;
twin<string> p("1","hello");//这里等价于 pair<string,string> p("1","hello");
cout<<p.first<<" "<<p.second<<endl;
return 0;
}