c++ pair(对组)用法

类模板:template <class T1, class T2> struct pair

参数:T1是第一个值的数据类型,T2是第二个值的数据类型。

功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。

具体用法:

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.5

3.赋值operator = :
(1)利用make_pair:

pair<int, double> p1;
p1 = make_pair(1, 1.2);

(2)变量间赋值:

pair<int, double> p1(1, 1.2);
pair<int, double> p2 = p1;

c++ pair(对组)用法

时间: 2024-10-13 16:43:52

c++ pair(对组)用法的相关文章

STL之pair对组

1 #include<iostream> 2 #include<algorithm> 3 #include<cstring> 4 #include<cstdlib> 5 using namespace std; 6 7 //创建对组 8 void test01(){ 9 /*方法一:*/ 10 pair<int,int> pair1(10,20); 11 cout<<pair1.first<<" "&l

C语言中的零长度数组使用说明

C语言中的零长度数组用法详解 在C语言中允许在结构体和联合体中定义零长度的数组,写法可以是以下两种: char p[]或者char p[0],这个数组定义在结构体或者联合体中,不占用空间大小. 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: 1.不需要初始化,数组名直接就是所在的偏移: 2.不占任何空间,指针需要占用int长度空间,空数组不占任何空间. "这个数组不占用任何内存",意味着这样的结构节省空间:"该数组的内存地址就和他后面的元素的地址

linux文件管理类命令汇总(用法与选项)

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 一.文件权限管理类命令 chown:改变文件所有者 chown [OPTION]... [OWNER][:[GROUP]] FILE... 常用参数 -R:递归修改(改目录就改目录中的目录及文件) 示例:# chown -R root /tmp/issue # chown -R root:root /tmp/issue chown [OPTION]... --reference=RFILE FILE... 示例:# c

Linux命令、文件和目录的常见用法

1. Linux上的文件管理类命令有哪些,其常用的使用方法及其相关示例演示.    1.1.文件权限管理类命令chown:改变文件所有者chown [OPTINON]...[OWNRR][:[GROUP]] FILE...常用参数 -R :递归修改(改目录及改目录中的目录和文件)示例:#chown -R root /tmp/ligang# chown -R root:root /tmp/ligang chown [OPTION]... --reference=RFILE FILE...示例:#

【JSP】&lt;meta&gt;标签用法

转载自:http://blog.sina.com.cn/s/blog_65c74cce0102v39z.html  非常感谢这位博主,急着用,改日再细细品味重新整理这篇博文. http-equiv META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME). ★HTTP-EQUIV HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容.常用的HTTP-EQUIV类型有: 1.Content-Type和Conte

(转)网页头部&lt;meta name=&quot;Robots&quot; 用法 &lt;meta&gt;系列用法.

有时候会有一些站点内容,不希望被ROBOTS抓取而公开.为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是The Robots META标签.1,<meta name="Robots" contect="all|none|index|noindex|follow|nofollow">  默认是all其中的属性说明如下: 设定为all:文件将被检索,且页面上的链接可以被查询: 设定为none:文件将不被检索,且页面上的

最齐全的网站元数据meta标签的含义和用法

随着HTML5的流行和Web技术的不断演变,Meta标签队伍也越来越壮大,从Windows XP的IE6到如今Windows 7.Windows 8的IE9.IE10.IE11,对Html5的支持越来越好,html meta标签的功能作用也越来越强大. 首先,先说一下最初产生的一些常用meta标签.从Meta标签的定义说起. Meta标签是HTML语言中HEAD区的一个辅助性标签,它位于HTML文档头部的<head>标记 和<title>标记之间,它提供用户不可见的信息.META标

网页头部&lt;meta name="Robots" 用法 &lt;meta&gt;系列用法

有时候会有一些站点内容,不希望被ROBOTS抓取而公开.为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是The Robots META标签.1,<meta name="Robots" contect="all|none|index|noindex|follow|nofollow">  默认是all其中的属性说明如下: 设定为all:文件将被检索,且页面上的链接可以被查询: 设定为none:文件将不被检索,且页面上的

Linux中用户、组、权限管理

众所周知,Linux是一个多用户.多任务的系统.而当很多用户同时登录时,系统是怎样管理用户,并给他们赋予相应的权限呢? Linux中有三类用户 超级用户(UID为0) 系统用户(伪用户.非登录) 仅运行服务程序 centos6.x中UID为1-499 centos7.x中UID为1-999 登录用户(普通用户) centos6.x中UID:500-65535 centos7.x中UID:1000-65535 用户解析库文件(任何人都可以访问): /etc/passwd name:password