首页 > 编程 > C++ > 正文

谈谈C++学习之Pair的使用方法

2020-01-26 14:21:07
字体:
来源:转载
供稿:网友

一、Pair类型概述

pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下:

pair<int, string> a;

表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。

pair<string, string> a("James", "Joy");

也可以像上面一样在定义的时候直接对其初始化。

由于pair类型的使用比较繁琐,因为如果要定义多个形同的pair类型的时候,可以时候typedef简化声明:

typedef pair<string, string> author;author pro("May", "Lily");author joye("James", "Joyce");

Pair对象的操作

1、对于pair类,由于它只有两个元素,分别名为first和second,因此直接使用普通的点操作符即可访问其成员

pair<string, string> a("Lily", "Poly"); string name;name = pair.second;

2、生成新的pair对象

可以使用make_pair对已存在的两个数据构造一个新的pair类型:

int a = 8;string m = "James";pair<int, string> newone;newone = make_pair(a, m);

三、编程实践

练习:编写程序读入一系列string和int型数据,将每一组存储在一个pair对象中,然后将这些pair对象存储在vector容器

#include<iostream>#include<string>#include<vector>#include<utility>using namespace std;int main(){  pair<string, int>p;  typedef vector< pair<string, int> > VP;  VP vp;  while(cin>>p.first>>p.second)  {    vp.push_back(make_pair(p.first,p.second));      }  VP::iterator it;  for(it=vp.begin(); it!=vp.end(); it++)    cout<<it->first<<","<<it->second<<endl;  return 0;}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表