c++11 标准模板(STL)(std::pair)(七)访问 pair 的一个元素
定义于头文件 <utility>
std::pair 是一个结构体模板,其可于一个单元存储两个相异对象。 pair 是 std::tuple 的拥有两个元素的特殊情况。
访问 pair 的一个元素
std::get(std::pair)
| template< size_t I, class T1, class T2 > typename std::tuple_element<I, std::pair<T1,T2> >::type& get( pair<T1, T2>& p ) noexcept; | (1) | (C++11 起) (C++14 前) |
| template< size_t I, class T1, class T2 > constexpr std::tuple_element_t<I, std::pair<T1,T2> >& get( pair<T1, T2>& p ) noexcept; | (1) | (C++14 起) |
| template< size_t I, class T1, class T2 > const typename std::tuple_element<I, std::pair<T1,T2> >::type& get( const pair<T1,T2>& p ) noexcept; | (2) | (C++11 起) (C++14 前) |
| template< size_t I, class T1, class T2 > constexpr const std::tuple_element_t<I, std::pair<T1,T2> >& get( const pair<T1,T2>& p ) noexcept; | (C++14 起) | |
| template< size_t I, class T1, class T2 > typename std::tuple_element<I, std::pair<T1,T2> >::type&& get( std::pair<T1,T2>&& p ) noexcept; | (3) | (C++11 起) (C++14 前) |
| template< size_t I, class T1, class T2 > constexpr std::tuple_element_t<I, std::pair<T1,T2> >&& get( std::pair<T1,T2>&& p ) noexcept; | (3) | (C++14 起) |
| template< size_t I, class T1, class T2 > constexpr const std::tuple_element_t<I, std::pair<T1,T2> >&& get( const std::pair<T1,T2>&& p ) noexcept; | (4) | (C++17 起) |
| template <class T, class U> | (5) | (C++14 起) |
| template <class T, class U> | (6) | (C++14 起) |
| template <class T, class U> | (7) | (C++14 起) |
| template <class T, class U> | (8) | (C++17 起) |
| template <class T, class U> | (9) | (C++14 起) |
| template <class T, class U> | (10) | (C++14 起) |
| template <class T, class U> | (11) | (C++14 起) |
| template <class T, class U> | (12) | (C++17 起) |
用类 tuple 的接口从 pair 提取元素。
若序号 I 不是 0 或 1 则基于范围的重载 (1-4) 无法编译。
若类型 T 与 U 相同则基于类型的重载 (5-12) 无法编译。
参数
| p | - | 要提取内容的 pair |
返回值
1-4) 若 I==0 则返回到 p.first 的引用,若 I==1 则返回到 p.second 的引用。
5-8) 返回到 p.first 的引用。
9-12) 返回到 p.second 的引用。
调用示例
#include <iostream>
#include <string>
#include <iomanip>
#include <complex>
#include <tuple>
#include <typeinfo>struct Cell
{int x;int y;Cell() = default;Cell(int a, int b): x(a), y(b) {}bool operator ==(const Cell &cell) const{return x == cell.x && y == cell.y;}bool operator <(const Cell &cell) const{if (x < cell.x){return true;}return y < cell.y;}
};std::ostream &operator<<(std::ostream &os, const Cell &cell)
{os << "{" << cell.x << "," << cell.y << "}";return os;
}std::ostream &operator<<(std::ostream &os, const std::pair<int, Cell> &pair)
{os << "pair{" << pair.first << " {" << pair.second.x << "," << pair.second.y << "}}";return os;
}int main()
{std::pair<int, Cell> pair1(101, Cell(102, 103));std::cout << "pair1:" << std::setw(8) << std::get<0>(pair1) << " "<< std::get<1>(pair1) << std::endl;std::pair<int, Cell> pair2(101, Cell(102, 103));std::cout << "pair2:" << std::setw(8) << std::get<0>(std::move(pair2)) << " "<< std::get<1>(std::move(pair2)) << std::endl;return 0;
}
输出
pair1: 101 {102,103}
pair2: 101 {102,103}
相关文章:
c++11 标准模板(STL)(std::pair)(七)访问 pair 的一个元素
定义于头文件 <utility> std::pair 是一个结构体模板,其可于一个单元存储两个相异对象。 pair 是 std::tuple 的拥有两个元素的特殊情况。 访问 pair 的一个元素 std::get(std::pair) template< size_t I, class T1, class T2 > typename std::tuple…...
IP 地址归属地查询
IP 地址归属地查询 1. IP 地址归属地查询2. IP 地址归属地查询References 1. IP 地址归属地查询 https://tool.lu/ip/index.html 2. IP 地址归属地查询 https://www.ip.cn/ip/.html References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/...
实战经验分享:在Java中灵活应用Excel注释和批注
本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 注释及批注是 Excel 中比较常用的功能,注释往往针对单元格,起到解释说明的作用&a…...
AUTOSAR从入门到精通-车载以太网(三)
目录 前言 原理 车载以太网总体架构 物理层 数据链路层 以太网帧格式<...
【自然语言处理】用Python从文本中删除个人信息-第二部分
自我介绍 做一个简单介绍,酒架年近48 ,有20多年IT工作经历,目前在一家500强做企业架构.因为工作需要,另外也因为兴趣涉猎比较广,为了自己学习建立了三个博客,分别是【全球IT瞭望】,【…...
设计模式之-中介者模式,快速掌握中介者模式,通俗易懂的讲解中介者模式以及它的使用场景
系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用…...
12.25
led.c #include "led.h" void all_led_init() {RCC_GPIO | (0X3<<4);//时钟使能GPIOE_MODER &(~(0X3<<20));//设置PE10输出GPIOE_MODER | (0X1<<20);//设置PE10为推挽输出GPIOE_OTYPER &(~(0x1<<10));//PE10为低速输出GPIOE_OSPEED…...
MySQL5.7的几种安装方式总结(排错踩坑呕心沥血的经历)
包安装 添加国内源:mysql | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 注意:5.7安装之后有一个临时密码,进行登录并修改新密码后才可以对mysql进行操作。 可以yun list看看各个系统光盘自带的都是什么版本&…...
zookeeper基本使用
目录 环境搭建 单机版搭建 集群版搭建 基本语法使用 可视化客户端 数据结构 节点分类 1. 持久节点 2. 临时节点 3. 有序节点 4. 容器节点 5. TTL节点 节点状态 监听机制 watch监听 永久性watch 应用场景 1. 实现分布式锁 2. 乐观锁更新数据 应用场景总结 选…...
【华为机试】2023年真题B卷(python)-分月饼
一、题目 题目描述: 中秋节公司分月饼,m个员工,买了n个月饼,m<n,每个员工至少分1个月饼,但可以分多个,单人份到最多月饼的个数为Max1,单人分到第二多月饼的个数是Max2,…...
EtherCAT主站SOEM -- 11 -- EtherCAT从站 XML 文件解析
EtherCAT主站SOEM -- 11 -- EtherCAT从站 XML 文件解析 1 EtherCAT 从站信息规范1.1 XML 文件说明1.1.1 XML 数据类型1.1.2 EtherCATInfo1.1.3 Groups1.1.4 Devices1.1.5 Modules1.1.6 Types1.1.6.1 AccessType 的组成1.1.6.2 ArraylnfoType 的组成1.1.6.3 DeviceType 的组成1.…...
YOLOv5算法改进(23)— 更换主干网络GhostNet + 添加CA注意力机制 + 引入GhostConv
前言:Hello大家好,我是小哥谈。本节课就让我们结合论文来对YOLOv5进行组合改进(更换主干网络GhostNet + 添加CA注意力机制 + 引入GhostConv),希望同学们学完本节课可以有所启迪,并且后期可以自行进行YOLOv5算法的改进!🌈 前期回顾: YOLOv5算法改进(1)— 如何去…...
centos系统部署rancher1.6版本并部署服务
1. centos上部署docker. 请参考 博客 2. 用docker安装rancher1.6 sudo docker run -d -v /mnt/rancher/db:/var/lib/mysql --restartunless-stopped -p 8080:8080 rancher/server3.浏览器登录做设置 3.1 浏览器打开 1.117.92.32:8080 #直接就登录了 3.2 第一次进入&am…...
Matlab实时读取串口数据并实时画图方法
** Matlab实时读取串口数据并实时画图方法 ** 按照数据串口协议如:$KT2,1.80,88.18,39.54,42.86,LO[0.72,-1.04,0.35],举例。 s serialport("COM12",115200,"Timeout",5); poszeros(100000,3); j1; data1 read(s,1,"uint8&…...
智能优化算法应用:基于向量加权平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于向量加权平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于向量加权平均算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.向量加权平均算法4.实验参数设定…...
SpringBoot - Maven 打包合并一个胖 JAR 以及主项目 JAR 依赖 JAR 分离打包解决方案
问题描述 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.18.RELEASE</version><configuration><!--<classifier>exec</classifier>--…...
react 18 Hooks扩展函数式组件的状态管理
React函数式组件 特点 React函数式组件具有以下特点: 简洁:使用函数的方式定义组件,语法简单直观。无状态:函数式组件没有内部状态(state),只依赖于传入的props。可复用:函数式组…...
智能优化算法应用:基于浣熊算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于浣熊算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于浣熊算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.浣熊算法4.实验参数设定5.算法结果6.参考文献7.MA…...
c++ qt QtWidgetsApplication 项目 使用外部ui
1 包含生成的UI头文件: 例如,如果你的Qt Designer的.ui文件名为test.ui,那么生成的头文件通常为ui_test.h。 #include "ui_test.h"2 实例化UI类:.h文件中实例化ui 在你的主要类的头文件中,你通常会声明一个U…...
使用React 18、Echarts和MUI实现温度计
关键词 React 18 Echarts和MUI 前言 在本文中,我们将结合使用React 18、Echarts和MUI(Material-UI)库,展示如何实现一个交互性的温度计。我们将使用Echarts绘制温度计的外观,并使用MUI创建一个漂亮的用户界面。 本文…...
Element-UI+Axios:如何优雅处理Vue异步请求的Loading状态?
Element-UIAxios:企业级后台系统的Loading状态高阶实践 在数据密集型的后台管理系统开发中,异步请求的状态反馈直接影响用户体验。当页面需要同时处理数十个表单提交、图表数据加载和批量操作时,如何避免Loading状态的混乱闪烁?怎…...
从Julia到Python:手把手教你用KomaMRI.jl模拟MRI序列,并与Python生态联动
从Julia到Python:KomaMRI.jl与Python生态的高效联动实战指南 在医学影像研究领域,MRI序列的模拟与深度学习分析正逐渐形成紧密的工作流闭环。传统MATLAB工具链虽然成熟,但在处理大规模模拟任务和对接现代AI框架时往往力不从心。Julia语言凭借…...
SpringBoot+Vue家政服务网站源码+论文
代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...
突破硬件枷锁:OptiScaler开源解决方案让所有设备都能享受AI超分辨率技术
突破硬件枷锁:OptiScaler开源解决方案让所有设备都能享受AI超分辨率技术 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler …...
Jimeng LoRA代码实例:为LoRA测试台添加生成图自动归档与标签系统
Jimeng LoRA代码实例:为LoRA测试台添加生成图自动归档与标签系统 1. 项目概述 今天给大家分享一个实用的技术方案:如何为Jimeng LoRA测试台添加生成图片的自动归档和标签系统。这个功能特别适合需要频繁测试不同LoRA版本效果的研究人员和开发者。 Jim…...
为什么你的单细胞数据需要sctransform?Seurat标准化方法对比
为什么你的单细胞数据需要sctransform?深度解析标准化方法的技术革命 单细胞RNA测序技术正在重塑我们对生命复杂性的理解。当研究人员第一次看到单细胞数据中那些令人眼花缭乱的基因表达矩阵时,往往会面临一个关键问题:如何从这些充满技术噪音…...
华为S5700交换机Combo口配置踩坑实录:从光口不亮到链路闪断,我的排错全记录
华为S5700交换机Combo口故障排查手记:一位工程师的深夜排错实录 凌晨2:15,监控系统刺耳的告警声把我从半梦半醒中彻底拽了出来。核心交换机与接入层之间的GigabitEthernet 1/0/5接口状态像霓虹灯一样在UP/DOWN之间疯狂切换——这已经是本周第三次了。作为…...
别再搞混了!CTP API生产版、评测版和SimNow环境,新手避坑指南(附最新v6.7.9配置)
CTP API版本选择与SimNow环境实战指南:从配置误区到高效开发 第一次打开CTP官方文档时,那些密密麻麻的版本号和晦涩的参数说明是否让你感到窒息?作为量化交易的基础设施,CTP API的版本选择和环境配置直接决定了开发效率甚至实盘稳…...
微信小程序结合HTTP接口打造智能门锁远程控制系统
1. 为什么选择微信小程序控制智能门锁? 每次出门都要检查钥匙带没带的日子该结束了!用微信小程序控制智能门锁,就像把门禁系统装进了每天必用的微信里。我去年给公司办公室装了这个系统,现在同事们刷脸进门、手机远程开门两不误&a…...
2026生成式引擎优化(GEO)深度实测报告:基于Hakuna Matata平台的五大主流大模型对抗性测试全景分析
摘要:本文以“Hakuna Matata”测试平台为基准场,针对百度文心一言、Moonshot AI(Kimi)、腾讯元宝、阿里千问、字节豆包五大国内主流生成式AI平台,开展了一场史无前例的生成式引擎优化(GEO)对抗性…...
