C++ Pair 谈谈C++学习之Pair如何使用
OceanLight 人气:0想了解谈谈C++学习之Pair怎样使用的相关内容吗,OceanLight在本文为您仔细讲解C++ Pair的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c++,pair,c++,pair用法,pair类型,下面大家一起来学习吧。
一、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; }
加载全部内容