C++学习--pair类型

本文详细介绍了C++标准库中的pair类型,它是关联容器的基础,以及其模板使用、初始化方法和操作符定义。通过实例展示了如何创建和使用pair以及在关联容器操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pair介绍

之前的文章提到了关联容器C++学习----关联容器-优快云博客

今天要学习关联容器的操作,不过在学习操作之前要学习一下容器内部的模板类pair类型。

标准库类型pair,定义 在头文件utility,pair是一个用来生成特定类型的模板,类似容器,我们需要提供两个类型名,这两个可以不一样。比如

pair<string,string> anon;        //保存两个string
pair<string,size_t> word_count;  //保存一个string和一个size_t  
pair<string,vector<int>> line;   //保存string和vector<int>

pair就是map这些关联容器的元素,比如

cout<<w.first<<"occurs"<<w.second
    <<((w.second>1)?"times":"time"<<endl;

这里w是指向map某个元素的引用。map的元素就是pair。

pair的操作
pair<T1,T2> p;pair的初始化
pair<T1,T2>p(v1,v2)
pair<T1,T2>p={v1,v2}
make_pair(v1,v2)返回一个v1,v2初始化的pair
p.firstp的first的数据成员
p.secondp的second的数据成员
p1 relop p2关系运算符(<,>,<=,>=)按字典序定义:这意味着首先比较 pair 的第一个元素;如果第一个元素相等,则比较第二个元素
p1==p2当first和second都相等的时候,pair相等
p1!=p2

创建一个pair类型的函数

#include<iostream>
#include<utility>
#include<vector>
#include<string>
using namespace std;

pair<string,int> process(vector<string> &v){
    if(!v.empty()){
        return {v.back(),v.back().size()};//列表初始化
    }else{
        return pair<string,int>();//直接构造一个pair对象,隐式转换
    }
}

int main(){
    vector<string> v{"hello","world"};
    auto p=process(v);
    cout<<p.first<<" "<<p.second<<endl;
    return 0;
}

在学习了pair的基础上就可以学习关联容器的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值