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

C++15: pair 数对 —— 极简成对数据容器

pair是 C++ 用来存储一对数据的模板,一个存 key,一个存 value,非常轻量、常用。


一、核心知识点

  • 功能:存储两个任意类型的数据(first + second)
  • 头文件#include <utility>#include <map>#include <set>都会自带
  • 常用场景:函数返回两个值、配合 map /set 使用、存储坐标点等

二、定义与初始化

// 1. 默认创建 pair<int, string> p1; // 2. 直接赋值 pair<int, string> p2(10, "Tom"); // 3. 快速创建(最常用) auto p3 = make_pair(20, "Jerry");

三、访问成员

  • p.first第一个元素
  • p.second第二个元素
#include <iostream> #include <utility> using namespace std; int main() { pair<int, string> p = make_pair(666, "Hello Pair"); cout << p.first << endl; // 666 cout << p.second << endl; // Hello Pair return 0; }

四、完整极简示例

#include <iostream> #include <utility> using namespace std; int main() { // 创建 pair<int, int> point(3, 5); // 访问 cout << "x = " << point.first << endl; cout << "y = " << point.second << endl; // 修改 point.first = 10; point.second = 20; cout << "新坐标:" << point.first << "," << point.second << endl; return 0; } //输出 x = 3 y = 5 新坐标:10,20

五、精炼总结

  1. pair=两个值的小容器
  2. 访问:firstsecond
  3. 快速创建:make_pair(a,b)
  4. 轻量、高效、随处可用
http://www.cnnetsun.cn/news/1513767.html

相关文章:

  • 破解企业文档管理困局:从混乱到有序的全面革新方案
  • Oracle EBS 预算控制与保留款配置文档
  • 提示词+Skills=王炸!我靠这套组合拳让 AI 效率提升 10 倍(附完整案例)
  • YOLOv11涨点改进| 全网独家创新、检测头Head改进篇| CVPR 2026顶会 |使用FAAHead改进YOLOv11的检测头,处理小目标、遮挡小目标检测、旋转目标检测有效涨点,助力高效发论文
  • 从杂乱背景到专业直播间:OBS背景移除插件如何重塑你的视频创作体验
  • 颠覆传统翻译体验:3大技术突破让PDF文档翻译效率提升10倍
  • 告别龟速下载:用阿里云镜像源5分钟搞定CentOS 8 Stream + 宝塔面板环境
  • UOS嵌入式工具库:Arduino平台的极简API与EEPROM键值存储
  • Win11Debloat:系统减负与性能优化的全方位解决方案
  • Vue3 中使用 Proxy 的 8 个注意事项
  • Wan2.2-I2V在React前端项目中的集成应用
  • 开源模型落地实践:Qwen2.5-7B与vLLM结合,实现高效工具调用
  • STM32F746NG SDIO块设备驱动设计与实现
  • 3分钟开启你的AI角色扮演世界:SillyTavern终极入门指南
  • 3个技术颠覆:3D打印谐波减速器的Faze4开源机械臂低成本实践指南
  • Keil版本管理避坑指南:从C51到MDK,如何安全下载并管理多个历史版本?
  • 终极MP4视频修复指南:如何使用untrunc高效恢复损坏的媒体文件
  • vLLM-v0.17.1惊艳效果:Qwen2-7B在RTX 4090上达240 tokens/s
  • 项目经理必看:用Microsoft Project搞定关键路径计算(含资源冲突解决技巧)
  • S7-200plc和MCGS组态自动化搬运机械手的组系统设计 我们主要的后发送的产品有,带解释...
  • AnotherRedisDesktopManager:提升Redis管理效率的全方位解决方案
  • OpenClaw无GUI部署:ollama-QwQ-32B在服务器端的自动化应用
  • ollama-QwQ-32B指令集扩展:教OpenClaw理解新操作短语
  • 通义千问3-VL-Reranker-8B在学术论文检索中的创新应用:图表与正文的深度关联
  • 人工智能技能差距已现,资深用户优势明显
  • Python开源代码管理避坑实战:从Git高级操作到Docker环境配置
  • 如何用开源字体技术零成本实现企业级条码系统
  • MagicaCloth2实战:用BoneCloth实现3D角色头发自然飘动效果
  • AIGlasses_for_navigation性能分析与调优实战:使用Profiling工具
  • 别再为YAML文件头疼了!手把手教你配置YOLOv13数据集文件,附PCB缺陷检测实战案例