zoukankan      html  css  js  c++  java
  • pair常见用法

    pair的使用

    关于pair

    什么是pair

    可以将pair看做一个内部有两个元素的结构体,且两个元素的类型是可以指定的。

    struct pair{
        typename1 first;
        typename2 second;
    }
    

    何时使用pair

    当想要将两个元素绑在一起作为一个合成元素,又不想要定义结构体的时候,使用pair可以方便地作为一个替代品。

    pair的定义

    头文件引入

    # include <utility>
    using namespace std;
    

    定义

    普通定义

    //typename1,typename2可以是任何类型,容器或者基础类型
    pair<typename1,typename2> p;
    //string和int
    pair<string,int>p;
    //定义初始化
    pair<string,int>p("hahaha",1);
    

    临时定义

    //1.构建匿名pair对象
    pair<string,int> p("haha",1);
    //2.使用自带的make_pair函数
    make_pair("haha",1);
    

    pair中元素访问

    # include <utility>
    # include <iostream>
    using namespace std;
    int main(void)
    {
        pair<string,int> p;
        p.first="hahaha";
        p.second=5;
        cout<<p.first<<" "<<p.second<<endl;
        p=make_pair("nihao",2);
        cout<<p.first<<" "<<p.second<<endl;
        p=make_pair("sawadika",5);
        cout<<p.first<<" "<<p.second<<endl;
        return 0;
    }
    

    pair常见函数

    比较操作数>,=,<,>=,<=等等

    比较规则是先以first大小作为标准,只有在first相等的时候才判断second

    pair的常见用途

    1.替代二元结构体以及其构造函数,节省时间
    2.作为map中的键值对进行插入

    map<string,int> m;
    map.insert(make_pair("haha",1));
    map.insert(make_pair("nihao",2));
    for(map<string,int>::iterator it=m.begin();it!=m.begin();it++)
    {
        cout<<it->first<<" "<<it->second<<endl;
    }
    
  • 相关阅读:
    haproxy path_end不能忽略
    haproxy hdr和path
    logstash 分析nginx 错误日志
    logstash 处理nginx 访问日志
    rsyslog 同时发生nginx 访问日志和错误日志
    rsyslog 同时发生nginx 访问日志和错误日志
    【codevs1048】石子归并
    【codevs1576】最长严格上升子序列
    【BAT】中文数字to阿拉伯数字转换
    Windows批处理BAT脚本
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11402794.html
Copyright © 2011-2022 走看看