vector<...>容器的<>里需要以个对象类型,
而pair
typedef 的作用是个一个类型重新起个名字,并没有生成一个新类型。
(define就是简单的字符串替换了)
所以,pair
根据STL的源代码
template
struct pair {
_T1 first;
_T2 second;
……
};
在stl_pair.h里,除了pair的构造函数外就是重载比较运算符,提供的接口不多。从本质上说,pair是个Adapter,对两个class进行封装。
这个类似于map容器,pair存放一个int的value和 一个string的key,然后用vector容器存放。
意思就是在vector里可以存放多个pair类型的元素,而pair里存放的是一个int数字和一个string字符串。
你可以通过int类型的数据找到它对应的string字符串