码迷,mamicode.com
首页 > 编程语言 > 详细

C++标准库--Pair

时间:2016-01-20 06:20:48      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

头文件:<utility>

 

可访问属性

first 第一个值
second 第二个值

 

可访问方法

swap(pair) 和另外一个pair交换值

 

其他相关方法

make_pair(val1, val2) 接受两个参数,返回一个pair
swap(pair1, pair2) 交换两个pair的值
get<?>(pair) 获取pair的属性

 

 例子

  例子1--构造pair:

    pair<int, string> p1; //直接使用T1和T2类型的default constructor
    pair<int, string> p2(11, "abc");  
    pair<string, int> p3(
                        piecewise_construct, 
                        forward_as_tuple("test"),
                        forward_as_tuple(3)
                        );
    pair<int, string> p5(p2);
    pair<int, string> p6 = make_pair(6, "f");
    pair<int, string> p7 = p6;    

 

  例子2--访问属性:

   pair<int, string> p(11, "abc");
    cout << "第一种访问模式:" << p.first << " : " << p.second << endl;
    cout << "第二种访问模式:" << get<0>(p) << " : " << get<1>(p) << endl;

  

  例子3--关系比较:

    pair<int, string> p1(1, "a");
    pair<int, string> p2(1, "b");

    //等价于 p1.first == p2.first && p1.second == p2.second
    if (p1 == p2) 
        cout << "p1 == p2" << endl;
    
    if (p1 != p2)
        cout << "p1 != p2" << endl;

    //先比较first,相等再比较second
    if (p1 > p2)
        cout << "p1 > p2" << endl;

    if (p1 >= p2)
        cout << "p1 >= p2" << endl;

    if (p1 < p2)
        cout << "p1 < p2" << endl;
    
    if (p1 <= p2)
        cout << "p1 <= p2" << endl;

 

  例子4--交换值:

    pair<int, string> p1(12, "abc");
    pair<int, string> p2(34, "xyz");
    //第一种交换方法
    p1.swap(p2);
    //第二种交换方法
    swap(p1, p2);

 

C++标准库--Pair

标签:

原文地址:http://www.cnblogs.com/programmer-kaima/p/5140941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!