pair的使用

1.pair的用法:
  1. pair<T1,T2>p , 创建一个空的pair对象,元素分别为T1,T2.
  2. pair<T1,T2>p(v1,v2) ,创建一个pair对象,元素类型为T1,T2,first为v1,first为v2
  3. mair_pair(v1,v2) , 以v1,v2创建一个新的pair对象
  4. p1<p2 , 遵循字典次序,如果p1.first = p2.first,比较p2的大小,如果是升序则返回true
  5. p.first , 返回p1中的首个成员
2.pair的创建和初始化

在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同

pair<string ,string>a;
pair<string , int >a;
pair<string , vector<int> >a;

也可以在定义的同时进行成员初始化:

pair<string , string >a("tom","bob");
pair<string , int >a("tom",20);

如果定义多个相同的pair类型对象,可以使用typedef简化声明:typedef pair<string , string> aa;

3.pair对象的操作

访问两个元素的操作可以通过first和second:

pair<int ,double>p;
p.first = 1;
p.second = 1.0;
4.生成新的pair对象

可以利用make_pair创建新的pair对象:

pair<int, double>p1;
p1 = make_pair(1,1.0);
5.通过tie获取pair元素值

某些情况会以pair对象作为返回值,可以通过std::tie接收。

std::pair<std::string , int>getperson(){
	return std::make_pair("tom",20);
}
int main(){
	std::string name;
	it age;
	std::tie(name , age) = getperson();
	std::cout<<"name:"<<name<<",age:"<<age<<std::endl;
	return 0;
}

摘抄,
end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值