vector<pair<int,string> >是什么意思

最近在学习编译原理,老师给了我们一个词法分析器的例程(用c++写的),但是有个地方看不懂。请教一下各位!
vector<pair<int,string> >是什么意思?有什么作用?最好能讲的具体一点……谢谢!

vector<...>容器的<>里需要以个对象类型,
而pair<int,string>就是一个对象类型,该类型对象有两个数据,first是int型,second是string类型。比如可以把一个页码值和该页出现的单词对应起来。吧pair<int,string>放入容器vector就是建立了一个pair类型的集合,就能把每一页的内容集合起来写一本字典。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-12
typedef 的作用是个一个类型重新起个名字,并没有生成一个新类型。
(define就是简单的字符串替换了)
所以,pair<int,int> 是类型,用Per表示为类型,比较方便。

根据STL的源代码
template <class _T1, class _T2>
struct pair {
_T1 first;
_T2 second;
……
};

在stl_pair.h里,除了pair的构造函数外就是重载比较运算符,提供的接口不多。从本质上说,pair是个Adapter,对两个class进行封装。本回答被网友采纳
第2个回答  2009-03-22
这个类似于map容器,pair存放一个int的value和 一个string的key,然后用vector容器存放。
意思就是在vector里可以存放多个pair类型的元素,而pair里存放的是一个int数字和一个string字符串。
你可以通过int类型的数据找到它对应的string字符串