开发者

C++中pair使用的示例代码

目录
  • 一、pair的介绍
  • 二、pair的定义
  • 三、pair中元素的访问
  • 四、pair常用函数实例解析
    • (1)比较函数
  • pair的常见用途

    一、pair的介绍

      pair是一个很实用的"小玩意",当想要将两个元素绑在一起作为一个php合成元素,又不想因此定义结构体时,使用pair可以很方便地作为一个替代品。

      也就是说,pair实际上可以看作一个内部有两个元素的结构体,且这两个元素的类型是可以指定的,如下:

    struct pair
    {
        typeName1 first;
        typeName2 second;
    };
    

    二、pair的定义

      要使用pair,应先添加头文件#include<utility>,并在头文件下面加上"using namespace std",然后就可以使用了。

       注意:由于map的内部实现中涉及pair,因此添加map头文件时会自动添加utility头文件,此时如果需要使用pair,就不需要额外再去添加utility头文件了。

    //pair有两个参数,分别对应first和second的数据类型,他们可以是任意基本数据类型或容器。
    pair<typeName1,typeName2>name;
    //想php要定义参数为string和int类型的pair,如下:
    pair<string,int>p;
    //如果想在定义pair时进行初始化,只需要跟上一个小括号,里面填写两个想要初始化的元素即可;
    pair<string,int>编程p("haha",5);
    
    //如果想要在代码中临时构建一个pair,有如下两种方法:
    /*
        (1)将类型定义写在前面,后面用小括号内两个元素的方式。
    */
    pair<string,int>("haha",5);
    /*
        (2)使用自带的make_pair函数
    */
    mjsake_pair("haha",5);
    

    三、pair中元素的访问

    pair中只有两个元素,分别是firstpythonsecond,只需要按正常结构体的方式去访问即可

    #include<bits/stdc++.h>
    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;
    }
    

    四、pair常用函数实例解析

    (1)比较函数

    两个pair类型数据可以直接使用关系运算符比较大小,

    比较规则是先以first的大小作为标准,只有first相等采取判断second的大小

    #include<bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        pair<int,int>p1(5,10);
        pair<int,int>p2(5,15);
        pair<int,int>p3(10,5);
        if(p1<p3)
            printf("p1<p3\n");
        if(p1<=p3)
            printf("p1<=p3\n");
        if(p1<p2)
            printf("p1<p2\n");
        return 0;
    }
    

    pair的常见用途

    关于pair有两个比较常见的例子:

      (1)用来代替二元结构体及其构造函数,可以节省编码空间

      (2)作为map的键值对来进行插入,如下

    #include<bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        map<string,int>mp;
        mp.insert(make_pair("hah",5));
        mp.insert(pair<string,int>("heihei",10));
        for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)
            cout<<it->first<<" "<<it->second<<endl;
        return 0;
    }

    到此这篇关于C++中pair使用的示例代码的文章就介绍到这了,更多相关C++ pair使用内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)! 

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜