pair类型 C++
一、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++相关推荐
- C++_volatile限定修饰符 Pair类型
Volatile限定修饰符 =========================================================== 当一个对象的值可能会在编译器的控制或检测之外被改变时 ...
- C++容器(三):pair类型
pair类型 在开始介绍关联容器之前,我们有必要了解一种与之相关的标准库类型–pair类型. 操作 含义 pair<T1, T2> p1 创建一个空的pair对象,它的两个元素分别为T1和 ...
- openssl之BIO系列之16---BIO对(pair)类型BIO
BIO对(pair)类型BIO ---根据openssl doc\crypto\bio_s_bio.pod翻译和自己的理解写成 (作者:DragonKing, Mail: wzhah@263.net ...
- C++ Primer 第10章 pair类型
//10.2.cpp //至少使用三种方法创建pair对象. //编写三个版本的程序,分别采用不同的方法来创建pair对象 //方法1:在定义pair对象时提供初始化式来创建pair对象#includ ...
- C++:vector容器中使用pair该如何访问成员
(显然,vector 的索引从 0 开始,这和普通数组一样.通过使用索引,总是可以访问到 vector 容器中现有的元素.) 如果是简单的访问vector里边的成员的话,是这样的: #include ...
- C++ STL Pair
Pair类型概述 pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair<int, string> a; 表示a中有两个类型,第一个元素是int型的 ...
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
原 java泛型(二).泛型的内部原理:类型擦除以及类型擦除带来的问题 2012年08月29日 23:44:10 Kilnn 阅读数:56717 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- pair的常见用法详解
目录 前言 pair的定义 pair中元素的访问 pair常用函数实例解析 pair的常见用途 前言 pair是一个很实用的"小玩意",当想要将两个元素绑在一起作为一个合成元素,又 ...
- C++之(pair)用法总结
类模板: template <class T1, class T2> struct pair 参数:class T1是第一个值的数据类型,class T2是第二个值的数据类型. 功能:pa ...
最新文章
- 语义分割:最简单的代码实现!
- ActiveMQ持久化消息的三种方式
- linux watchdog demo hacking
- Linux-编写Shell的几个技巧
- Software-testing-foundations-homework3
- 打印最少硬币的组合-dp+记录路径
- 浮动div,回到顶部
- python selenium环境配置Firefox和Chrome
- UGUI的Button和Toggle
- mongodb常用命令脚本化-自动化运维
- 36. 理解copy_if算法的正确实现
- 发现电脑上装着liteide,就用golang做一个TCP通讯测试(支持先启动client端和断线重连)...
- 百度移动搜索主要有如下几类结果构成
- html5游戏开发教程实战:五子棋、四子棋、围棋、翻转棋四种对弈游戏,仅仅100行代码...
- c语言例题18:完全平方数
- ConcurrentHashMap的使用场景
- 用jQuery提取到input中value值 checked选择器
- hadoop集群基本配置
- 横空出世。复盘B站面试坑我最深的Java并发:JDK源码剖析。B站五面面经(附过程、答案)
- 利用python爬取百度翻译内容
热门文章
- 一文带你清晰弄明白线程池的原理
- UVA 1416 最短路
- java outputstream初始化_ByteArrayOutputStream简介和使用_动力节点Java学院整理
- VTS-DEBUG VtsHalCameraProviderV2_4TargetTest CameraHidlTest.noHal1AfterP FAIL
- Linux rz命令安装失败解决方法
- 计算流体力CFD学-绪论
- EOS智能合约开发系列(15): N与name
- Wirecast Pro 11 Mac(直播软件) v11.0.0中文破解版
- git时出现rejected
- y160.第九章 GitOps从入门到精通 -- Tekton Trigger(九)