标准库 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