前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ STL容器之pair快速入门

C++ STL容器之pair快速入门

作者头像
可定
发布2020-04-20 15:07:59
6020
发布2020-04-20 15:07:59
举报
文章被收录于专栏:细嗅蔷薇细嗅蔷薇
  • pair,可看作是一个内部有两个元素的结构体。 pair与之前学的iOS程序开发里的Swift语言的字典有点类似(Java工具包里的字典和python中的字典也是),区别不同的是pair不区分key和value。

使用pair需于代码头部添加#include,并且随后加上一句:using namespace std;即可。

注意:也可以在使用pair需于代码头部添加#include ,因为map的内部实现设计pair,因此记不住“utility”也可以用“map”偷一下懒。

pair的定义

(1)纯定义

pair<typename1, typename2> p;

pair有两个参数,,分别对应first和second的数据类型,可以任意数据类型或容器

(2)定义后并初始化

有两种方式。

一种是pair<string, string> p("和泉纱雾","A罩");

另一种是使用自带的make_pair函数

make_pair("和泉纱雾","A罩");

元素访问

pair的first和second分别按正常结构体的方式去访问即可。

比较操作数

两个pair类型数据可以直接使用==、!= 、<、<=、>、>=比较大小,比较规则是先以first的大小作为标准,只有当first相等后再去判别second的大小。

代码

代码语言:javascript
复制
#include<iostream>
#include<utility>
#include<string>
using namespace std;
int main(){
    pair<string, string> p;
    p.first = "和泉纱雾";
    p.secnond = "A";
    cout<< p.first << "" << p.second << endl;//输出和泉纱雾和A
    p = make_pair("奈奈子","B");
    cout<< p.first << "" << p.second << endl;//输出奈奈子和B
    p = pair<string, int>("椎名真白","B");
    cout<< p.first << "" << p.second << endl;//输出椎名真白和B

    pair<int, int> p1(5,10);
    pair<int, int> p2(5,15);
    pair<int, int> p3(10,5);
    if(p1<p3)printf("p1 < p3");
    if(p1<=p3)printf("p1 <= p3");
    if(p1<p2)printf("p1 < p2");
    return 0;
}

常见用途

(1)用来代替二元结构体及其构造函数,节省编码时间。

(2)作为map的键值对来进行插入。

代码语言:javascript
复制
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main(){
    map<string, int> mp;
    mp.insert(make_pair("奈奈子", 1));
    mp.insert(pair<string, int>("椎名真白",2));
    for(map<string, int>::iterator it = mp.begin(); it != mp.end(); it++){
        cout << it->first << "" << it -> second << endl;
    }//输出"奈奈子", 1和"椎名真白",2
    return 0;
}

版权所有:可定博客 © WNAG.COM.CN

本文标题:《C++ STL容器之pair快速入门》

本文链接:https://cloud.tencent.com/developer/article/1616918

特别声明:除特别标注,本站文章均为原创,本站文章原则上禁止转载,如确实要转载,请电联:wangyeuuu@qq.com,尊重他人劳动成果,谢过~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pair的定义
  • 元素访问
  • 比较操作数
  • 代码
  • 常见用途
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档