C++标准模板库(STL)之Pair
1、Pair的常用用法
pair:两个元素绑在一起作为一个合成元素。可以看成是两个元素的结构体。
struct pair
{
typeName1 first;
typeName2 second;
};
1.1、pair的定义
添加头文件#include<utility>(#include<map>)和using namespace std;
map的内部设计到pair的使用,所以map头文件会自动添加#include<utility>头文件。
pair<typename1,typename2> name; pair<string,int> p;
pair<string,int>("hello",1);
1.2、pair元素的访问
pair中只有两个元素,first和second。
#include<stdio.h>
#include<utility> using namespace std;
int main()
{
pair<string,int> p;
p.first="hello";
p.second=;
cout<<p.first<<" "<<p.second<<end; return ;
}
1.3、pair常用函数
1.3.1、比较操作==,!=,<,<,<=,>,>=
比较的时候,显示比较first,first相等才比较second
#include<stdio.h>
#include<utility> using namespace std;
int main()
{
pair<int,int> p1(,);
pair<int,int> p2(,);
pair<int,int> p3(,);
if(p1<p2)printf("p1<p2\n");
if(p1<=p3)printf("p1<=p3\n");
if(p2<p3)printf("p2<p3\n");
return ;
}
1.4、pair的用途
代替二元结构体
作为map的键值来进行插入操作。
#include<stdio.h>
#include<map> using namespace std;
int main()
{
map<string,int> mp;
mp.insert(pair<string,int>("help",));
mp.insert(make_pair("hello",));
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++)
{
cout<<it->first<<" "<<it->second<<endl;
}
return ;
}
2018-09-25 20:41:03
@author:Foreordination
C++标准模板库(STL)之Pair的更多相关文章
- 标准模板库(STL)学习探究之stack
标准模板库(STL)学习探究之stack queue priority_queue list map/multimap dequeue string
- 标准模板库(STL)学习探究之vector容器
标准模板库(STL)学习探究之vector容器 C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...
- C++ 标准模板库(STL)
C++ 标准模板库(STL)C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), ...
- STL学习系列之一——标准模板库STL介绍
库是一系列程序组件的集合,他们可以在不同的程序中重复使用.C++语言按照传统的习惯,提供了由各种各样的函数组成的库,用于完成诸如输入/输出.数学计算等功能. 1. STL介绍 标准模板库STL是当今每 ...
- 标准模板库--STL
标准模板库STL 1.泛型程序设计 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用: 1.面向对象的思想:继承和多态,标准类库 2.泛型程序设计(generic progra ...
- C++的标准模板库STL中实现的数据结构之顺序表vector的分析与使用
摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解.即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第一篇,主要针对线性表中的顺序表(动 ...
- 实验8 标准模板库STL
一.实验目的与要求: 了解标准模板库STL中的容器.迭代器.函数对象和算法等基本概念. 掌握STL,并能应用STL解决实际问题. 二.实验过程: 完成实验8标准模板库STL中练习题,见:http:// ...
- C++的标准模板库STL中实现的数据结构之链表std::list的分析与使用
摘要 本文主要借助对C++的标准模板库STL中实现的数据结构的学习和使用来加深对数据结构的理解,即联系数据结构的理论分析和详细的应用实现(STL),本文是系列总结的第二篇.主要针对线性表中的链表 ST ...
- C++ 标准模板库STL 队列 queue 使用方法与应用介绍
C++ 标准模板库STL 队列 queue 使用方法与应用介绍 queue queue模板类的定义在<queue>头文件中. 与stack模板类很相似,queue模板类也需要两个模板参数, ...
- 【c++】标准模板库STL入门简介与常见用法
一.STL简介 1.什么是STL STL(Standard Template Library)标准模板库,主要由容器.迭代器.算法.函数对象.内存分配器和适配器六大部分组成.STL已是标准C++的一部 ...
随机推荐
- IP通信基础学习第六周(上)
CSAM:冲突检测 链路:是指一条无源的点到点的物理线路段,且中间没有任何其它的交换结点. 数据链路:把实现相关规程的硬件和软件加到链路上. 数据链路层的功能:链路管理,信息的传输,流量与差错控制,异 ...
- centos7安装pip
转自:https://www.cnblogs.com/mangoVic/p/6428369.html 默认情况下,centos7是没有pip的,可以通过如下命令安装 首先安装epel扩展源: yum ...
- 使用 lsyncd 同步文件
https://unix.stackexchange.com/questions/307046/real-time-file-synchronization https://github.com/ax ...
- 博客地址更改为csdn博客:https://blog.csdn.net/zysps1
由于博客园不支持markdown的数学公式等语法,有时分享不方便,特更改阵地为csdn:https://blog.csdn.net/zysps1
- jdbc笔记(一) 使用Statement对单表的CRUD操作
jdbc连接mysql并执行简单的CRUD的步骤: 1.注册驱动(需要抛出/捕获异常) Class.forName("com.mysql.jdbc.Driver"); 2.建立连接 ...
- Unity Ragdoll 实现死亡效果 心得+坑点总结
效果展示 正如其名,Ragdoll可以让人物模型实现像布娃娃一样物理效果 创建Ragdoll 在场景中新建 3D Object → Ragdoll... 接下来是一个初见复杂的绑定界面,这里我做了简单 ...
- PHP共享内存yac操作类
http://www.laruence.com/2013/03/18/2846.html 鸟哥介绍 https://www.cnblogs.com/willamwang/p/8918377.htm ...
- 阿里云windows 2008 服务器处理挖矿程序 Miner
阿里云盾最近报发现wanacry蠕虫病毒和挖矿进程异常 仔细检查进程后,发现两个奇怪的进程 Eternalblue-2.2.0.exe,winlogins.exe 特别是伪装成 winlogins.e ...
- hiho#1513 : 小Hi的烦恼 五维偏序
hiho#1513 : 小Hi的烦恼 五维偏序 链接 hiho 思路 高维偏序用bitset,复杂度\((\frac{n^2}{32})\) 代码 #include <bits/stdc++.h ...
- plsql连接oracle
在plsql中: 需要在工具----选项 指定 1. orcacle 主目录 :G:\PLSQL Developer 11.0.0.1762 中文绿色注册版(免Oracle11g客 ...