c/c++ 标准库 pair 介绍
程序员文章站
2022-07-04 22:18:40
标准库 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); }