#include <iostream>
using namespace std;/**std::pair主要的作用是将两个数据组合成一个数据,两个数据可以是同一类型或者不同类型。
例如std::pair<int,float> 或者 std::pair<double,double>等。
pair实质上是一个结构体,其主要的两个成员变量是first和second,这两个变量可以直接使用。
初始化一个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类型。
这个问题在编程是需要引起注意。
下面是一段pair与make_pair的例子程序:*/
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;
}

C++ pair 和make_pair相关推荐

  1. C++ pair 和make_pair的用法

    pair 的用法 std::pair主要的作用是将两个数据组合成一个数据,两个数据可以是同一类型或者不同类型. C++标准程序库中凡是"必须返回两个值"的函数, 也都会利用pair ...

  2. C++中 pair 和 make_pair 的用法

    参见大佬博客:https://blog.csdn.net/weixin_42825576/article/details/81571419 另外我再补充一点: pair是二元组类模版,make_pai ...

  3. 关于C++ pair 和make_pair的用法

    pair 的用法 std::pair主要的作用是将两个数据组合成一个数据,两个数据可以是同一类型或者不同类型. C++标准程序库中凡是"必须返回两个值"的函数, 也都会利用pair ...

  4. C++ STL Pair

    Pair类型概述 pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair<int, string> a; 表示a中有两个类型,第一个元素是int型的 ...

  5. vector嵌套vector嵌套pair

    vector< vector<pair<int, int> > >的用法 通过简单的例子来理解vector和vector的嵌套 第一层vector< vect ...

  6. C++ pair类模板

    在学习关联容器之前,首先要了解 STL 中的 pair 类模板,因为关联容器的一些成员函数的返回值是 pair 对象,而且 map 和 multimap 容器中的元素都是 pair 对象.pair 的 ...

  7. std::tuple、std::tie(可用于结构体大小比较)、std::pair用法

    1.tuple应用: 解释:是一个元组,可包含无限多不同类型变量,pair的升级版,但没有pair得成员变量first.second. 1.1.代码: // tuple example #includ ...

  8. C++ 和 Java 中的 Pair 配对

    C++ 和 Java 中的 Pair 配对 \qquad 配对(Pair).配对提供了一种方便方式来处理简单的键值关联,当我们想从方法返回两个值时特别有用. Java Pair类在javafx.uti ...

  9. C++ std::pair

    重点总结: pair将2个数据组合成一组数据,std::map中的元素就是pair. 通过 first 和 sencond 访问pair中数据:pair.first; air.second; 可使用 ...

最新文章

  1. python爬虫实例--爬取拉勾网
  2. WatchDog工作原理
  3. boost::mp11::mp_find相关用法的测试程序
  4. Java中的Unsafe在安全领域的一些应用总结和复现
  5. 一个TextView使用不同的颜色
  6. wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法
  7. 全国计算机office二级选择题,全国计算机二级msoffice选择题汇总含答案
  8. Netty-4-服务端接受客户端传递过来的信息并返回给客户端指定的信息
  9. NekoHTML学习笔记
  10. 四大会计事务所薪酬待遇及发展各个方面大比拼
  11. 用计算机算桥架的视频,桥架在线计算器介绍
  12. 王者荣耀: 史上最长对局, 无法打破的神话英雄, 10小时4千人头
  13. mysql中1146提示_Mysql数据库的使用总结之ERROR 1146 (42S02)
  14. 程序员这样对待简历,你期望面试官怎么对待你?
  15. Unity灯光烘焙设置详解
  16. G16、G24、G32、G36、G60
  17. micropython四位数码管程序代码(YX55759-+4位数码管模块)
  18. XHCI注册过程和设备接入识别
  19. 2022中央财经大学计算机考研,2021-2022年中央财经大学会计专硕考研成功上岸经验分享...
  20. 嘉定区专利产业化项目认定条件及流程解读

热门文章

  1. 《Head First Java (中文第二版)》勘误
  2. python绑定按键pageup键_键盘事件keydown、keypress、keyup随笔整理总结(摘抄)
  3. vue3查看当前路由
  4. 各种数据库总结与页面传值及小技巧等杂汇
  5. Android MediaRecorder录制视频音量小问题解决 (音视频转码合成)
  6. Python音频处理——pydub
  7. ValidationError: Invalid options object. Dev Server has been initialized using an options object th
  8. 电路原理图检查的十大步骤详解
  9. 小记Android Gradle插件 Iven 记于 20190522 药厂
  10. fcitx输入法代码分析总结