pair 容器保存两数据成员用来生成特定类型的模板。
使用:
pair<T1, T2> P;
它内部定位为:
namespace std {
template <typename T1, typename T2>
struct pair {
T1 first;
T2 second;
};
}
可以看到,pair的底层被定义为一个struct,其所有成员默认为public,两个成员分别是first和second。其中map的元素是pair,pair<const key_type, mapped_type>。
例如:可以用来遍历关联容器。
map<string, int> p;
auto map1 = p.cbegin();
while(map1 != p.cend())
{
std::cout << map->first << map1->second << std::endl;
++map1;
}
可以对map进行插入,元素类型是pair:
p.insert({word, 1});
p.insert(pair<string, i>(word, 1));
insert 对不包含重复关键字容器,插入成功返回pair<迭代器, bool>,其中迭代器指向给定关键字元素,bool指出插入是否成功。