C++基础——C++ make_pair用法
std::pair用法
std::pair主要的作用是将两个数据组合成一个数据,两个数据可以是同一类型或者不同类型。
例如std::pair<int,float> 或者 std::pair<double,double>等。
pair实质上是一个结构体,其主要的两个成员变量是first和second,这两个变量可以直接使用。
初始化一个pair可以使用构造函数,也可以使用std::make_pair函数。
std::make_pair用法
make_pair函数的定义如下:
template pair make_pair(T1 a, T2 b) { return pair(a, b); }
一般make_pair都使用在需要pair做参数的位置,可以直接调用make_pair生成pair对象。
另一个使用的方面就是pair可以接受隐式的类型转换,这样可以获得更高的灵活度。但是这样会出现如下问题:
例如有如下两个定义:
std::pair<int, float>(1, 1.1);
std::make_pair(1, 1.1);
其中第一个的second变量是float类型,而make_pair函数会将second变量都转换成double类型。
#include <iostream>
using namespace std;int main(int argc, char** argv)
{pair <string,double> product1 ("tomatoes",3.25);pair <string,double> product2;pair <string,double> product3;product2.first ="lightbulbs"; // type of first is stringproduct2.second =0.99; // type of second is doubleproduct3 = make_pair ("shoes",20.0);cout <<"The price of "<< product1.first <<" is $"<< product1.second <<"\n";cout <<"The price of "<< product2.first <<" is $"<< product2.second <<"\n";cout <<"The price of "<< product3.first <<" is $"<< product3.second <<"\n";return 0;
}
转载自:https://blog.csdn.net/hiwoshixiaoyu/article/details/53894162
C++基础——C++ make_pair用法相关推荐
- python类装饰器详解-Python装饰器基础概念与用法详解
本文实例讲述了Python装饰器基础概念与用法.分享给大家供大家参考,具体如下: 装饰器基础 前面快速介绍了装饰器的语法,在这里,我们将深入装饰器内部工作机制,更详细更系统地介绍装饰器的内容,并学习自 ...
- boost::hana::make_pair用法的测试程序
boost::hana::make_pair用法的测试程序 实现功能 C++实现代码 实现功能 boost::hana::make_pair用法的测试程序 C++实现代码 #include <b ...
- python装饰器详解-Python装饰器基础概念与用法详解
本文实例讲述了Python装饰器基础概念与用法.分享给大家供大家参考,具体如下: 装饰器基础 前面快速介绍了装饰器的语法,在这里,我们将深入装饰器内部工作机制,更详细更系统地介绍装饰器的内容,并学习自 ...
- arduino: 各种Arduino基础器件的用法图
arduino: 各种Arduino基础器件的用法图 2013-06-17 13:29:40 分类: LINUX NE555的各种用法 开关.光耦.光敏电阻等的用法 各种LED的用法 蜂鸣器.继电器. ...
- python中symbols函数用法_Python基础之函数用法实例详解
本文以实例形式较为详细的讲述了Python函数的用法,对于初学Python的朋友有不错的借鉴价值.分享给大家供大家参考之用.具体分析如下: 通常来说,Python的函数是由一个新的语句编写,即def, ...
- Mongodb基础命令与用法
Mongodb基础命令与用法 查看版本号 [root@VM_0_12_centos bin]# ./mongo -version MongoDB shell version v3.6.5 git ve ...
- Fabric.js 基础画笔的用法 BaseBrush
theme: smartblue 本文简介 点赞 + 关注 + 收藏 = 学会了 本文介绍 Fabric.js 的基础笔刷用法.如果你还不知道 Fabric.js 是什么,我墙裂建议你阅读一下 < ...
- pyqt5从子目录加载qrc文件_PyQt5快速上手基础篇10-QSettings用法
前言 本节我们学习使用PyQt5的QSettings的用法,使用QSettings可以记住用户操作UI界面设置的参数,下次打开软件的时候,会直接加载用户上一次设置的参数. 一.基础知识 1.QSett ...
- python基础函数及用法意思_Python基础之函数基本用法与进阶详解
本文实例讲述了Python基础之函数基本用法与进阶.分享给大家供大家参考,具体如下: 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数 ...
最新文章
- SQL Server 2012 复制(发布订阅的研究)
- AppSwiper让iphone5快速关闭后台应用
- Codeforces 补题记录
- 【2012百度之星/初赛上】C:集合的交与并
- 视频播放器的极致体验优化
- 跟着刚哥梳理java知识点——多线程(十六)
- 新浪微博之XSS蠕虫脚本源码讲解
- 解决maven打jar包报错:Could not resolve substitution to a value: ${akka.stream.materializer}
- html换浏览器div的位置固定不变,浏览器窗口更改时,HTML div不在适当的位置
- Java Jar 包反编译
- 一个很好的网址,Visio 使用教程
- 计算机网络谢希仁第八版 课后答案第七版课后答案
- sqlserver while 用法
- 编制现金流量表3个步骤!
- Microsoft Visio 文本框上标或下标
- NDIS函数大全手册
- Win10彻底删除Windows.old文件夹
- 学习Python要学习哪些课程?
- 无法启动MySQL服务,提示“错误1069,由于登录失败而无法启动服务”
- 计算机教程五年级,五年级~上册全册计算机教学教程南方出版社.doc