头文件:<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<, "abc");  
    pair<string, int> p3(
                        piecewise_construct,
                        forward_as_tuple("test"),
                        forward_as_tuple()
                        );
    pair<int, string> p5(p2);
    pair<, "f");
    pair<int, string> p7 = p6;    

  例子2--访问属性:

   pair<, "abc");
    cout << "第一种访问模式:" << p.first << " : " << p.second << endl;
    cout << >(p) << >(p) << endl;

  

  例子3--关系比较:

    pair<, "a");
    pair<, "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<, "abc");
    pair<, "xyz");
    //第一种交换方法
    p1.swap(p2);
    //第二种交换方法
    swap(p1, p2);

C++标准库 -- pair的更多相关文章

  1. c/c++ 标准库 pair 介绍

    标准库 pair 介绍 问题:map里的元素由key和value组成,这个key和value的组合是什么类型呢??? 答案:pair类型 pair介绍: 它是模板 有2个公有成员可供访问. first ...

  2. C++ Primer 有感(标准库pair)

    与关联容器相关的模板类型,包含两个数据成员,在utility头文件中定义. pair类型提供的操作: pair<T1,T2> p1; pair<T1,T2> p1(v1,v2) ...

  3. 《C++ Primer》学习笔记【第二部分 C++标准库】

    第8章 IO库 IO对象不能复制,即1.IO对象不能存储在vector或其他容器中   2.如果需要传递或返回IO对象,必须传递或返回指向该对象的指针或引用. 一般情况下,如果要传递IO对象以便对它进 ...

  4. 【转】C++标准库和标准模板库

    C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...

  5. C++标准库简介、与STL的关系。

    转自http://www.cnblogs.com/xiongjiaji/archive/2011/06/22/2476490.html C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在5 ...

  6. c++标准库和stl关系

    C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能. <cname>形式的标准头文件[ <complex>例外]其 ...

  7. STL笔记(6)标准库:标准库中的排序算法

    STL笔记(6)标准库:标准库中的排序算法 标准库:标准库中的排序算法The Standard Librarian: Sorting in the Standard Library Matthew A ...

  8. C++标准库概述 [转]

    C++标准库的所有头文件都没有扩展名. C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能.<cname>形式的标准头文件[<complex>例外]其内 ...

  9. C++标准库和标准模板库

    转自原文http://blog.csdn.net/sxhelijian/article/details/7552499 C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标 ...

随机推荐

  1. PHP变量入门教程(2)超全局变量,总共9个

    PHP 超全局变量 $GLOBALS 包含一个引用指向每个当前脚本的全局范围内有效的变量.该数组的键标为全局变量的 名称.从 PHP 3 开始存在 $GLOBALS 数组. $_SERVER 变量由 ...

  2. Postman 发送http请求工具

    http://donglegend.com/2016/10/28/Postman/ Postman 发现一款发送Web API & HTTP 请求的工具,没错,就是Postman.推荐给大家, ...

  3. linux 最近使用的命令

    vi 文件名   >>  按 i 键,进行编辑,编辑完,按ESC键,再按:q代表不保存退出,按:wq代表保存退出. ps aux|grep java >>  搜索目前启动的ja ...

  4. 难道这就是JavaScript中的"闭包"

    其实对于JavaScript中的"闭包"还没真正理解,这次在实际Coding中似乎遇到了"闭包"的问题,仅此摘录,以待深究. 表现为jQuery的post方法回 ...

  5. 动态页面 servlet

    1.常见软件架构. C/S: 客户端 服务器  安全性较好,但是升级需要升级两端   B/S: 浏览器 服务器  安全性较差, 但是升级时 只需要升级服务器端(我们今后就是开发这个架构的) 2.资源分 ...

  6. MySQL5.0安装图解

    打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe",出现如下界面: 按"Next"继续 选择安装类 ...

  7. effective OC2.0 52阅读笔记(七 系统框架)

    47 熟悉系统框架 总结:将代码封装为动态库,并提供接口的头文件,就是框架.平时的三方应用都用静态库(因为iOS应用程序不允许在其中包含动态库),并不是真正的框架,然而也经常视为框架.例如:NSLin ...

  8. UML大战需求分析——阅读笔记02

    类图是理解面向对象思想的强有力工具,也是业务概念模型分析中最常用的一种UML图.对开发人员来说,并不是对每一个业务流程都很熟练,在客户那里传达过来的需求资料中,有很多术语会把思绪搞晕,他们之间错综复杂 ...

  9. tp框架之数据添加

    1.数组添加 //$attr = array("Code"=>"n088","Name"=>"哈萨克族"); ...

  10. Mybatis 使用maven插件mybatis-generator自动生成entities和SQL和mapper

    第一步:在pom中添加该插件的配置,我直接把pom贴上来好了 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...