欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c/c++ 标准库 pair 介绍

程序员文章站 2022-04-10 18:44:31
标准库 pair 介绍 问题:map里的元素由key和value组成,这个key和value的组合是什么类型呢??? 答案:pair类型 pair介绍: 它是模板 有2个公有成员可供访问。 first和second。 make_pair函数能返回一个pair 可以进行 ==,!=,, =运算 小例子 ......

标准库 pair 介绍

问题:map里的元素由key和value组成,这个key和value的组合是什么类型呢???

答案:pair类型

pair介绍:

  • 它是模板
  • 有2个公有成员可供访问。 first和second。
  • make_pair函数能返回一个pair
  • 可以进行 ==,!=,<=,<, >, >=运算
//由参数1和2推导出类型为<int, int>                                     
auto ap1 = make_pair(1, 2);
pair<int, int> ap2(ap1);

小例子:

#include <iostream>
#include <vector>

using namespace std;

pair<string, int> process(vector<string> &v){
  if(!v.empty()){
    return pair<string, int>(v.back(), v.back().size());
  }
  else{
    return pair<string, int>();
  }
}
int main(){
  pair<string, string> p1{"",""};
  pair<string, size_t> cnt{"last",5};
  pair<string, vector<int>> li;
  cout << cnt.first << " " << cnt.second << endl;
  vector<string> svec{"aa", "last"};
  pair<string, size_t> cnt2 = process(svec);
  cout << cnt2.first << " " << cnt2.second << endl;
  if(cnt2 == cnt){
    cout << "euqal" << endl;
  }
  if(cnt2 < cnt){
    cout << "less" << endl;
  }
  //由参数1和2推导出类型为<int, int>                                           
  auto ap1 = make_pair(1, 2);
  pair<int, int> ap2(ap1);
}

c/c++ 学习互助qq群:877684253

本人微信:xiaoshitou5854