一、pair概述、定义:

pair包含两个数值,是一种模板类型,在创建pair对象时必须提供两个类型名(不必相同)

pair<T1, T2> p1;         // 使用默认构造创建一个空的pair对象,两个元素分别是T1和T2类型pair<T1, T2> p1(v1, v2); // 采用值初始化,first成员初始化为v1,second成员初始化为v2make_pair(v1, v2);       // 函数,以v1和v2的值创建一个新的pair对象,元素类型分别是v1和v2;p1.first;    // 返回对象中名为first的公有数据成员p1.second;   // 返回对象中名为second的公有数据成员

二、创建pair对象:

pair<string, string> p1;      // 创建一个空对象,两个元素类型都是stringpair<string, int> p2;         // 创建一个空对象,两个元素类型分别时string和intpair<string, vector<int> > p3 // 创建一个空对象,两个元素类型分别是string和vector

注意下面两个定义:

std::pair<int, float> (1, 1.1); // second变量是float类型

std::make_pair (1, 1.1);       // 该函数会将second变量都转换成double类型

三、在定义时进行成员初始化:

pair<string, string> p1("Bittle", "Ann");pair<string, int> p2("John", 18);pair<string, int> p3(p2);  // 拷贝构造初始化

使用 typedef 简化声明:

typedef pair<string, string> PSS;PSS p1("Jackson", "Lina");

四、变量间赋值:

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

五、pair对象的操作:

pair<int, double> p1;
p1.first = 1;
p1.second = 1.2;
cout<<p1.first<<' '<<p1.second<<endl;

六、生成新的pair对象:

pair<int, double> p1;
p1 = make_pair(1, 1.2); // 利用make_pair函数创建新的pair对象并赋值给p1int a = 8;
string m = "Jackson";
pair<int, string> p2;
p2 = make_pair(a, m);   // ***

五、通过 tie 获取 pair 元素值

暂无

pair类型 C++相关推荐

  1. C++_volatile限定修饰符 Pair类型

    Volatile限定修饰符 =========================================================== 当一个对象的值可能会在编译器的控制或检测之外被改变时 ...

  2. C++容器(三):pair类型

    pair类型 在开始介绍关联容器之前,我们有必要了解一种与之相关的标准库类型–pair类型. 操作 含义 pair<T1, T2> p1 创建一个空的pair对象,它的两个元素分别为T1和 ...

  3. openssl之BIO系列之16---BIO对(pair)类型BIO

    BIO对(pair)类型BIO ---根据openssl doc\crypto\bio_s_bio.pod翻译和自己的理解写成 (作者:DragonKing, Mail: wzhah@263.net  ...

  4. C++ Primer 第10章 pair类型

    //10.2.cpp //至少使用三种方法创建pair对象. //编写三个版本的程序,分别采用不同的方法来创建pair对象 //方法1:在定义pair对象时提供初始化式来创建pair对象#includ ...

  5. C++:vector容器中使用pair该如何访问成员

    (显然,vector 的索引从 0 开始,这和普通数组一样.通过使用索引,总是可以访问到 vector 容器中现有的元素.) 如果是简单的访问vector里边的成员的话,是这样的: #include ...

  6. C++ STL Pair

    Pair类型概述 pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair<int, string> a; 表示a中有两个类型,第一个元素是int型的 ...

  7. java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题

    原 java泛型(二).泛型的内部原理:类型擦除以及类型擦除带来的问题 2012年08月29日 23:44:10 Kilnn 阅读数:56717 版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  8. pair的常见用法详解

    目录 前言 pair的定义 pair中元素的访问 pair常用函数实例解析 pair的常见用途 前言 pair是一个很实用的"小玩意",当想要将两个元素绑在一起作为一个合成元素,又 ...

  9. C++之(pair)用法总结

    类模板: template <class T1, class T2> struct pair 参数:class T1是第一个值的数据类型,class T2是第二个值的数据类型. 功能:pa ...

最新文章

  1. 语义分割:最简单的代码实现!
  2. ActiveMQ持久化消息的三种方式
  3. linux watchdog demo hacking
  4. Linux-编写Shell的几个技巧
  5. Software-testing-foundations-homework3
  6. 打印最少硬币的组合-dp+记录路径
  7. 浮动div,回到顶部
  8. python selenium环境配置Firefox和Chrome
  9. UGUI的Button和Toggle
  10. mongodb常用命令脚本化-自动化运维
  11. 36. 理解copy_if算法的正确实现
  12. 发现电脑上装着liteide,就用golang做一个TCP通讯测试(支持先启动client端和断线重连)...
  13. 百度移动搜索主要有如下几类结果构成
  14. html5游戏开发教程实战:五子棋、四子棋、围棋、翻转棋四种对弈游戏,仅仅100行代码...
  15. c语言例题18:完全平方数
  16. ConcurrentHashMap的使用场景
  17. 用jQuery提取到input中value值 checked选择器
  18. hadoop集群基本配置
  19. 横空出世。复盘B站面试坑我最深的Java并发:JDK源码剖析。B站五面面经(附过程、答案)
  20. 利用python爬取百度翻译内容

热门文章

  1. 一文带你清晰弄明白线程池的原理
  2. UVA 1416 最短路
  3. java outputstream初始化_ByteArrayOutputStream简介和使用_动力节点Java学院整理
  4. VTS-DEBUG VtsHalCameraProviderV2_4TargetTest CameraHidlTest.noHal1AfterP FAIL
  5. Linux rz命令安装失败解决方法
  6. 计算流体力CFD学-绪论
  7. EOS智能合约开发系列(15): N与name
  8. Wirecast Pro 11 Mac(直播软件) v11.0.0中文破解版
  9. git时出现rejected
  10. y160.第九章 GitOps从入门到精通 -- Tekton Trigger(九)