关于pair类型的一些有关问题~望大神来解答,新手ing

关于pair类型的一些问题~~~~~~~望大神来解答,新手ing
#include<iostream>
#include<string>
#include<vector>
#include<utility>
using namespace std;

int main()
{
vector< pair<string,int> > pvec;
pair<string,int> author;
string first;
int second;
while(cin>>first>>second)
{
author=make_pair(first,second);
pvec.push_back(author);
}
    return 0;
}
这个程序没有问题,但是我想看看vector容器里的元素,不可以用
for(vector< pair<string,int> >::iterator iter=pvec.begin();iter!=pvec.end();++iter)
cout<<"The result is:"<<*iter<<endl;
这个来显示吗?

还有一个问题就是,哪位大神知道cout输出的数据类型都有什么限制啊?
pair vector cout pair   vector

------解决方案--------------------
引用:
类型对应 << 运算符重载,就能输出, pair类型没有,需要自己定义

++
把iter解引用,然后分别输出pair 的first 和second成员
例如:
cout << iter->firse << ", " << iter->second << endl;