当前位置: 首页 > news >正文

C++学习 --pair

目录

1, 什么是pair

2, 创建pair

2-1, 标准数据类型

2-2, 自定义数据类型

3, 查询元素

3-1, 标准数据类型

3-2, 自定义数据类型


1, 什么是pair

数据以键值对形式存放的容器, 第一个是, 第二个是

2, 创建pair

pair<数据类型, 数据类型> 对象名, 可创建一个pair, 数据类型可以是标准数据类型, 也可以是自定义类型

2-1, 标准数据类型

//键数据类型为string, 值数据类型为int
//pair<string, int> px为创建pair对象, 后面的部分是对其进行赋值
pair<string, int> p1(pair<string, int>("aaa", 1));
pair<string, int> p2 = make_pair("bbb", 2);
pair<string, int> p3(map<string, int>::value_type("ccc", 3));

2-2, 自定义数据类型

Myclass1 mc_1("张三", 10);
Myclass2 mc_2("李四", 20);
//键数据类型为MyClass, 值数据类型为MyClass2
pair<Myclass1, Myclass2> p1(mc_1, mc_2);
pair<Myclass1, Myclass2> p2 = make_pair(mc_1, mc_2);
pair<Myclass1, Myclass2> p3(map<Myclass1, Myclass2>::value_type(mc_1, mc_2));

3, 查询元素

通过对象名.first, 访问pair的第一个元素, 对象名.second, 访问pair的第二个元素

3-1, 标准数据类型

#include <iostream>
#include <string>
#include <map>using namespace std;void print_pair_1(pair<string, int>& p)
{cout << "键:" << p.first  << endl;cout << "值:" << p.second << endl;
}int main()
{pair<string, int> p1 = make_pair("bbb", 2);print_pair_1(p1);system("pause");return 0;
}

3-2, 自定义数据类型

#include <iostream>
#include <string>
#include <map>using namespace std;class Myclass1
{
public:Myclass1(string name, int age) : m_name(name), m_age(age) {};string m_name;int m_age;
};class Myclass2
{
public:Myclass2(string name, int age) : m_name(name), m_age(age) {};string m_name;int m_age;
};void print_pair_1(pair<Myclass1, Myclass2>& p)
{cout << "键:" << p.first.m_name  << " " << p.first.m_age << endl;cout << "值:" << p.second.m_name << " " << p.second.m_age << endl;
}int main()
{Myclass1 mc_1("张三", 10);Myclass2 mc_2("李四", 20);pair<Myclass1, Myclass2> p1 = make_pair(mc_1, mc_2);print_pair_1(p1);system("pause");return 0;
}
http://www.lryc.cn/news/237676.html

相关文章:

  • Android Frgment中onActivityResult无效的问题
  • 【C#二开业务冠邑】通过界面查看数据来源
  • 使用大语言模型 LLM 做文本分析
  • Windows本地搭建rtmp推流服务
  • 机器学习二元分类 二元交叉熵 二元分类例子
  • Postgresql运维信息(一)
  • Jupyter Notebook的下载安装与使用教程_Python数据分析与可视化
  • 快速入门:构建您的第一个 .NET Aspire 应用程序
  • 主流开源大语言模型的微调方法
  • Django DRF权限组件
  • leetcode每日一题31
  • 使用Pytorch测试cuda设备的性能(单卡或多卡并行)
  • SpringBoot-AOP-基础到进阶
  • Midjourney绘画提示词Prompt参考学习教程
  • 美国费米实验室SQMS启动“量子车库”计划!30+顶尖机构积极参与
  • DCDC同步降压控制器SCT82A30\SCT82630
  • 本地/笔记本/纯 cpu 部署、使用类 gpt 大模型
  • 企企通亮相广东智能装备产业发展大会:以数字化采购促进智能装备产业集群高质量发展
  • pycharm安装教程
  • LeetCode【76】最小覆盖子串
  • 光谱图像超分辨率综述
  • Ubuntu apt-get换源
  • 磐舟CI-Web前端项目
  • Flink 运行架构和核心概念
  • 中间件安全:Apache Tomcat 文件上传.(CVE-2017-12615)
  • Linux 命令补充
  • HTTP常见面试题(小林coding版总结)
  • 一整个分析模型库,大数据分析工具都这么玩了吗?
  • 最新企业服务总线ESB的国内主要厂商和开源厂商排名,方案书价格多少
  • react重要知识点(面经)