C++ pair用法

类模板:template <class T1, class T2> struct pair

功能:将一组值合成一个值,比如可以表示(x,y)坐标等,class T可以为不同的数据类型。


具体使用方法:

    1.定义(初始化):

    pair<int, double> p1;  		//使用默认构造函数
    pair<int, double> p2(1, 2.4);   //用给定值初始化
    pair<int, double> p3(p2);	//拷贝构造函数
  2.访T1和T2元素的方法:
    通过first,second访问,具体例子:
typedef pair<string,int> pair1;    //map中键的类型
typedef pair<pair1, int> pair2;  //map中元素类型
typedef map<pair1, int > map2; //int 记录pair1出现的次数

int cmp1(pair2 &a,pair2 &b)
{   
    return  a.second  > b.second;//根据map中元素的值部分进行降序排列
}

    3.赋值

    1)利用make_pair

    对已经初始化的进行修改:

        pair<int, double> p1;
        p1 = make_pair(1, 1.2);
    

    2)变量间赋值

                   pair<int, double> p1(1, 1.2);
                   pair<int, double> p2 = p1;
 

 4.简化使用

    由于pair类型的使用比较繁琐,因为如果要定义多个形同的pair类型的时候,可以时候typedef简化声明:

typedef pair<string,int> pair1;    //map中键的类型
typedef pair<pair1, int> pair2;  //map中元素类型
typedef map<pair1, int > map2; //int 记录pair1出现的次数




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值