C++容器(三):pair类型
来源:互联网 发布:编程入门语言 编辑:程序博客网 时间:2024/06/05 10:21
pair类型
在开始介绍关联容器之前,我们有必要了解一种与之相关的标准库类型–pair
类型。
pair<T1, T2> p1
创建一个空的pair
对象,它的两个元素分别为T1
和T2
类型,采用值初始化 pair<T1, T2> p1(v1, v2)
创建一个pair
对象,它的两个元素分别是T1
和T2
类型,其中first
成员初始化为v1
,second
成员初始化为v2
make_pair(v1,v2)
以v1
和v2
创建一个新的pair
对象,其元素类型分别是v1
和v2
的类型 p1 < p2
两个pair
对象之间的小于运算,其定义遵循字典顺序:如果p1.first < p2.first
或者!(p2.first < p1.first) && p1.second < p2.second
,则返回true
p1 == p2
如果两个pair
对象的first
和second
成员依次相等,则两个对象相等,返回true
p.first
返回p
中名为first
的(公有)数据成员 p.second
返回p
中名为second
的(公有)数据成员pair
类型包含两个数据值,与容器一样,pair
也是一种模板类型。在创建pair
对象时,必须提供两个类型名:pair
对象所包含的两个数据成员各自对应的类型名字,这两个类型名字不必相同:
pair<string, string> strs; // holds two stringpair<string, int> wordCount; // holds a string and an intpair<string, vector<int>> line; // holds a string and a vector<int>
如果在创建pair
对象时不提供初始化式,则调用默认构造函数对其成员采用值初始化。当然,也可以定义时提供初始化式:
pair<string, string> author("James", "Joyce");// or use typedef typedef pair<string, string> Author;Author author("Marcel", "Joyce");
生成新的pair
对象,除了上述的利用构造函数方法外,标准库中定义的make_pair
函数,由传递给它的两个实参生成一个新的pair
对象:
pair<string, string> nextAuthor;string first, second;while( cin >> first >> second){ // generate a pair from first and last nextAuthor = make_pair( first, second ); // process nextAuthor ...}// ornextAuthor = pair<string, string>(first, second);// orcin >> nextAuthor.first >> nextAuthor.second;
参考文献:
- 《C++ Primer中文版(第四版)》,Stanley B.Lippman et al. 著, 人民邮电出版社,2013。
1 0
- C++容器(三):pair类型
- C++pair容器
- 关于C++pair类型(转)
- C++:关联容器(pair、map、set、multiset)
- 【C/C++】关联容器pair map set
- C++ Primer 学习笔记_34_STL实践与分析(8) --引言、pair类型、关联容器
- pair (c++)
- C++ 10.1和10.2 关联容器-----pair 类型
- C#_delegate - Pair<T> & 简单顺序逆序 & 方法委托(在Pair类下)&枚举类型 混搭使用
- Pair类型
- C++:map容器和pair的结合使用
- C++STL模板容器(三)
- C++ Primer : 第十一章 : 关联容器之概述、有序关联容器关键字要求和pair类型
- C++容器---pair
- C++容器---Pair
- 【C++】STL常用容器总结之七:对组pair与关联容器
- [C++]标准库类型容器
- STL之关联容器(pair、map、set的使用)
- 移动端web页面自适应和rem
- 文章索引-视频编解码
- 理性的来源
- kvm文件默认路径
- uva 12716 打表找规律
- C++容器(三):pair类型
- [总结]FFMPEG视音频编解码零基础学习方法
- linux watch命令
- Maven安装与使用入门
- oracle序列详解
- SCU 4438 Censor(KMP / HASH)
- web前端,jquery实现瀑布流总结1,eq()函数的用法
- web前端,jquery实现瀑布流总结2,each遍历
- codeforces 580 E. Kefa and Watch (字符串hash + 线段树)