pair 的常见用法详解

496 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天点击查看活动详情

pair 的常见用法详解

  1. pair是一个很实用的“小玩意”,当想要将两个元素绑在一起作为一个合成元素、又不想 要因此定义结构体时,使用pair可以很方便地作为一一个代替品。也就是说,pair 实际上可以
  2. 看作一个内部有两个元素的结构体,且这两个元素的类型是可以指定的,如下面的短代码所 示:
struct pair {
typeName1 first;
typeName2 second;
};
  1. pair 的定义
  • 要使用pair,应先添加头文件#include , 并在头文件下面加上“using namespace std;",然后就可以使用了。注意:由于map的内部实现中涉及pair,因此添加map头文件时
  • 会自动添加utility头文件,此时如果需要使用pair,就不需要额外再去添加utility头文件了。
  • 因此,记不住“utility” 拼写的读者可以偷懒地用map头文件来代替utility 头文件。
  • pair有两个参数,分别对应first和second的数据类型,它们可以是任意基本数据类型或 容器。 pair<typeName1, typeName2> name; 因此,想要定义参数为sring和int类型的pair,就可以使用如下写法: pair<string, int> p;
  • 如果想在定义pair时进行初始化,只需要跟上一个小括号,里面填写两个想要初始化的 pair<string, int> p("haha", 5);
  • 而如果想要在代码中临时构建一个pair,有如下两种方法:
    • 0将类型定义写在前面,后面用小括号内两个元素的方式。
    • pairstring, int> ("haha", 5)
  • ②使用自带的make pair 函数。
    • make pair("haha", 5)
  • pair中只有两个元素,分别是frst和seond. 只需要按正常结构体的方式去访问即可。 示例如下:
    #include <iostream>
#include <utility>
#include <string>
using namespace std;
int main() {
pair<string, int> p
p. first = "haha";
p. second = 5;
cout << p. first <<”
p. second << endl ;
P = make_ pair("xixi", 55) ;
cout << p.first << ""<< p.second << endl;
P = pair<string, int> ("heihei", 555) ;
cout << p. first <<”"<< p.second << endl;
return 0;