C++标准库 -- pair
头文件:<utility>
可访问属性:
| first | 第一个值 |
| second | 第二个值 |
可访问方法:
| swap(pair) | 和另外一个pair交换值 |
其他相关方法:
| make_pair(val1, val2) | 接受两个参数,返回一个pair |
| swap(pair1, pair2) | 交换两个pair的值 |
| get<?>(pair) | 获取pair的属性 |
例子:
例子1--构造pair:
pair<int, string> p1; //直接使用T1和T2类型的default constructor
pair<, "abc");
pair<string, int> p3(
piecewise_construct,
forward_as_tuple("test"),
forward_as_tuple()
);
pair<int, string> p5(p2);
pair<, "f");
pair<int, string> p7 = p6;
例子2--访问属性:
pair<, "abc");
cout << "第一种访问模式:" << p.first << " : " << p.second << endl;
cout << >(p) << >(p) << endl;
例子3--关系比较:
pair<, "a");
pair<, "b");
//等价于 p1.first == p2.first && p1.second == p2.second
if (p1 == p2)
cout << "p1 == p2" << endl;
if (p1 != p2)
cout << "p1 != p2" << endl;
//先比较first,相等再比较second
if (p1 > p2)
cout << "p1 > p2" << endl;
if (p1 >= p2)
cout << "p1 >= p2" << endl;
if (p1 < p2)
cout << "p1 < p2" << endl;
if (p1 <= p2)
cout << "p1 <= p2" << endl;
例子4--交换值:
pair<, "abc");
pair<, "xyz");
//第一种交换方法
p1.swap(p2);
//第二种交换方法
swap(p1, p2);
C++标准库 -- pair的更多相关文章
- c/c++ 标准库 pair 介绍
标准库 pair 介绍 问题:map里的元素由key和value组成,这个key和value的组合是什么类型呢??? 答案:pair类型 pair介绍: 它是模板 有2个公有成员可供访问. first ...
- C++ Primer 有感(标准库pair)
与关联容器相关的模板类型,包含两个数据成员,在utility头文件中定义. pair类型提供的操作: pair<T1,T2> p1; pair<T1,T2> p1(v1,v2) ...
- 《C++ Primer》学习笔记【第二部分 C++标准库】
第8章 IO库 IO对象不能复制,即1.IO对象不能存储在vector或其他容器中 2.如果需要传递或返回IO对象,必须传递或返回指向该对象的指针或引用. 一般情况下,如果要传递IO对象以便对它进 ...
- 【转】C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...
- C++标准库简介、与STL的关系。
转自http://www.cnblogs.com/xiongjiaji/archive/2011/06/22/2476490.html C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在5 ...
- c++标准库和stl关系
C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能. <cname>形式的标准头文件[ <complex>例外]其 ...
- STL笔记(6)标准库:标准库中的排序算法
STL笔记(6)标准库:标准库中的排序算法 标准库:标准库中的排序算法The Standard Librarian: Sorting in the Standard Library Matthew A ...
- C++标准库概述 [转]
C++标准库的所有头文件都没有扩展名. C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能.<cname>形式的标准头文件[<complex>例外]其内 ...
- C++标准库和标准模板库
转自原文http://blog.csdn.net/sxhelijian/article/details/7552499 C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标 ...
随机推荐
- Linux下提示 bash: xxx command not found
今天在虚拟机上安装了CentOS5.5,发现运行一些很正常的诸如:init,shutdown,fdisk 等命令时,悍然提示: bash: xxx command not found. 那么,首先就要 ...
- android 项目中如何引入第三方jar包
http://www.360doc.com/content/13/0828/08/11482448_310390794.shtml
- sdcms留言提交
引入这两个js <script src="{webroot}lib/validator/jquery.validator.js"></script>< ...
- AngularJS的JSONP服务
有些页面的response中,包含了 Access-Control-Allow-Origin 这个header,说明可以进行跨域请求,如果没有包含这个header的页面可以利用JSONP进行跨域 sc ...
- bzoj4260
题目大意:求不相交的两段区间,两段的异或和加起来最大是多少 区间异或和记得转化成前缀和啊我个sb 变成一对数的异或值就变成trie了啊 两段区间的话,从左往右一颗trie,从右往左一颗trie #in ...
- LeetCode之237. Delete Node in a Linked List
------------------------------------------------ 因为不知道前序是谁,所以只好采用类似于数组实现的列表移动值, 又因为如果当前是最后一个元素了但是已经没 ...
- GitHub团队项目合作流程
已在另一篇博客中写出关于以下问题的解决,点此进入: 同步团队项目到本地时出现冲突怎么办? 项目负责人merge一个Pull Request后发现有错怎么回退? 目录: 零.前期准备 一.创建开发分支 ...
- ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)
1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 154 Solved: 112[ ...
- 【淘淘】Spring整合Quartz框架
我在外面工作实习的时候,我们做的项目是一个日报子系统,也就是定时定点为公司生成一些报表数据还有一些数据反馈.这时候我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.当时,我做 ...
- checkedListBox
checkedListBox一键删除多个选中items private void button3_Click(object sender, EventArgs e) { ; i < checke ...