C++STL学习Pair
来源:互联网 发布:恋人网软件下载 编辑:程序博客网 时间:2024/05/06 11:36
类模板:template <class T1, class T2> struct pair
参数:T1是第一个值的数据类型,T2是第二个值的数据类型。
功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。
举例:pair<int, string> a; 表示a中有两个类型,第一个元素是int型的,第二个元素师string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。
具体用法:
1.定义(构造):
pair<int, double> p1; //使用默认构造函数pair<int, double> p2(1, 2.4); //用给定值初始化pair<int, double> p3(p2);//拷贝构造函数
2.访问两个元素(通过first和second):
pair<int, double> p1;//使用默认构造函数p1.first = 1;p1.second = 2.5;cout << p1.first << ' ' << p1.second << endl;
输出结果:1 2.53.赋值operator = :
(1)利用make_pair:
对已经初始化的进行修改:
pair<int, double> p1;p1 = make_pair(1, 1.2);
可以使用make_pair对已存在的两个数据构造一个新的pair类型:
int a = 8;string m = "James";pair<int, string> newone;newone = make_pair(a, m);
(2)变量间赋值:
pair<int, double> p1(1, 1.2);pair<int, double> p2 = p1;
4.简化使用
由于pair类型的使用比较繁琐,因为如果要定义多个形同的pair类型的时候,可以时候typedef简化声明:
#include<bits/stdc++.h>using namespace std;typedef pair<string, string> PSS; typedef pair<int, int> PII;typedef pair<string, int> PSI;PSS name("first", "second");PII point(1, 2);PSI associative("str", 123);int main(){ cout << name.first << " " << name.second << endl; cout << point.first << " " << point.second << endl; cout << associative.first << " " << associative.second << endl; return 0;}
0 0
- C++STL学习Pair
- 【C/C++】STL--pair
- [C++]STL pair
- STL学习之pair
- STL的pair学习, map学习
- c++STL pair的基本用法
- STL Pair
- pair(STL)
- [STL] pair
- STL::pair
- STL-pair
- stl pair
- STL pair
- stl-map stl-pair
- 【STL】STL之pair
- C++STL中的tuple 与 pair (piecewise construction)
- STL中map, list, and pair的学习笔记
- C++ STL Pair
- JS和PHP互调用
- 每日一题-1
- 多分辨率分析与正交小波-4
- 新的一天,新的开始
- onclick和onfocus的区别
- C++STL学习Pair
- [Leetcode] Reverse Integer
- C#相等比较
- SVM的简单介绍
- Eclipse 启动报错Failed to create the Java Virtual Machine的解决方法,三种
- 一个表格,如何让他显示10秒后自动消失
- 怎么查看80端口占用情况 如何查看端口占用情况
- 求访问啊啊啊啊
- hibernate注解版关联映射 详解