C++初学者指南-5.标准库(第二部分)–特殊容器

news2024/9/19 9:48:17

C++初学者指南-5.标准库(第二部分)–特殊容器

pair<A , B>
包含两个相同或不同类型的值
在这里插入图片描述
tuple<A , B> C++11
包含许多相同或不同类型的值
在这里插入图片描述
optional C++17
包含一个类型为 T 的值或没有值
在这里插入图片描述
variant<A,B,C,…> C++17
包含一个类型为A、B或C的值……
在这里插入图片描述
any C++17
包含任意类型的一个值
在这里插入图片描述

幻灯片

在这里插入图片描述

  • 保存不同类型的两个值
    在这里插入图片描述
  • 可用于组合多种类型
  • 建议:具有表达式名称的结构/类通常更好
    在这里插入图片描述
    在这里插入图片描述
  • 将元组的返回类型拆分为变量
  • 方便处理多个按值返回类型
  • 在这里插入图片描述
  • 结构化绑定:auto […] =
  • 一次声明元组中的变量并赋值
  • 允许方便地处理多个按值返回类型

在这里插入图片描述
在这里插入图片描述

  • 表示可能可用的值
  • 过去:原始指针(nullptr表示不可用性)
  • 与原始指针相比,意图得到清晰表达

在这里插入图片描述
不同类型的值列表?
在这里插入图片描述

  • 可以包含T1或T2或T3的对象
  • 具有最大类型的内存占用量
    在这里插入图片描述
    在这里插入图片描述
    Product Types和Sum Types (概念来源于函数式编程,这里不展开了),简单的理解,Product Types就像C++的struct类型,成员变量是同时存在的,Sum Types就像std::variant类型,用来表示多个可选项,是同一个值。
    在这里插入图片描述
  • 可以包含任何类型的对象
  • 实际类型在运行时可更改
    在这里插入图片描述

相关内容

  • std::span / gsl::span
  • std::variant  (CopperSpice C++)
  • std::visit  (CopperSpice C++)

附上原文链接
如果文章对您有用,请随手点个赞,谢谢!^_^

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《花100块做个摸鱼小网站! 》第四篇—前端应用搭建和完成第一个热搜组件

⭐️基础链接导航⭐️ 服务器 → ☁️ 阿里云活动地址 看样例 → &#x1f41f; 摸鱼小网站地址 学代码 → &#x1f4bb; 源码库地址 一、前言 在本系列文章的早期章节中&#xff0c;我们已经成功地购买了服务器并配置了MySQL、Redis等核心中间件。紧接着&#xff0c;我们不仅…

用AI来学习英语口语(白嫖,所以稍微麻烦些)

写在前面 本文看下如何使用AI来免费学习英语口语。 1&#xff1a;正文 首先&#xff0c;我们点击这里来到一个对话窗口&#xff0c;你可以在这个窗口中使用英语来询问你的问题&#xff0c;比如what can i do when i am not happy&#xff1a; 接着复制机器人回答内容&#…

datawhale AI夏令营第五期 深度学习入门 Task1 了解机器学习

机器学习基础 定义 学习一般是只有人才具备的能力&#xff0c;机器学习就是通过某种方式让机器具备人才有的学习能力&#xff0c;这里的某种方式是机器具备找一个函数的能力 比如说证件照背景颜色更换&#xff0c;那么机器需要找到图片中的背景在哪里&#xff0c;再替换成目…

pandas操作Excel文件

pandas操作Excel文件 一、前言二、指定读取的工作表与header设置2.1指定工作表2.2header设置 三、读取Excel数据3.1iloc读取数据3.2read_excel读取数据3.3loc读取数据 四、DataFrame数据筛选4.1根据列标签对整列进行筛选4.2使用iloc对区域进行筛选4.3自定义筛选 五、DataFrame类…

2024年8月26日(线上考试系统,虚拟化技术部署,使用link)

[rootdocker ~]# systemctl start docker [rootdocker ~]# docker pull mysql 一、线上考试系统 虚拟化技术部署 1、部署前端服务器 project_exam_system.sql数据库文件 dist网络资源 1.将资源上传到服务器 C:\Users\89765>scp -r "D:\青岛实训\project_exam_system\d…

C语言典型例题52

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 题目&#xff1a; 例题4.4 相传古代印度国王舍罕要褒奖他聪明能干的宰相达依尔&#xff08;国际象棋发明者&#xff09;&#xff0c;问他需要什么&#xff0c;达依尔回答说&#xff1a;“国王只要在国际象棋的棋盘的…

Shader 中的渲染顺序

1、深度测试和深度写入 有了深度测试和深度写入发挥作用让我们不需要关心不透明物体的渲染顺序比如一个物体A 挡住了 物体B&#xff0c;即使底层逻辑中 先渲染A&#xff0c;后渲染B&#xff0c;我们也不用担心 B的颜色会把A覆盖&#xff0c;因为在进行深度测试时&#xff0c;远…

电池管理系统SOX算法资料优化目录2024.8.26

这篇文章主要写一下这一次更新的几个地方&#xff0c;有对原来的代码及模型进行优化的部分&#xff0c;也有新增加的代码和模型&#xff0c;我就把几个比较典型的给列了出来。但是还有好多的更新没有在下面展示出来&#xff0c;因为一个个展示出来太复杂了。如果你对更新的内容…

如何使用ssm实现基于 SSM 框架的宠物用品电子商务平台设计与实现+vue

TOC ssm258基于 SSM 框架的宠物用品电子商务平台设计与实现vue 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科…

黑神话悟空妖怪平生录

黑神话悟空是一部特别好玩的单机游戏。上一个我这么喜欢的国产单机还是古剑奇谭三。 虽然黑神话的战斗系统和地图系统尚不完善&#xff0c;但是这里面的游记是真的做得很认真。 203个妖怪&#xff0c;203首小诗&#xff0c;203个妖生故事&#xff0c;带你去看妖怪的喜怒哀乐。…

freemarker模版注入

Freemarker模版注入漏洞 模版注入漏洞根因&#xff08;SSTI&#xff0c;服务器端模版注入&#xff09;freemarker介绍Freemarker模版注入漏洞关键点漏洞复现环境引入依赖poc 修复方案完整代码&#xff08;包含修复&#xff09;参考 模版注入漏洞根因&#xff08;SSTI&#xff0…

乾坤大挪移--将一个混乱的excel分类整理的辅助VBA代码

excel 乾坤大挪移 你不需要将工作表手动分类&#xff1b; 只需要在”已整理“的标题行增加标题列&#xff0c; listbox会自动获取”已整理“sheet中的标题列&#xff0c;并列出来 你只需要选中同一列中的单元格&#xff0c;点击想移动到的列表的类别&#xff0c;双击或者点…

【云故事探索】NO.7:「越用越上瘾」,中华财险 60% 研发人员用通义灵码提效

云布道师 中华联合财产保险股份有限公司运用“云大模型”技术革新业务&#xff0c;通过阿里云的通义灵码大幅提升编码效率&#xff0c;近60%的研发人员采用&#xff0c;采纳的生成代码占比约20%&#xff0c;显著提升了团队创新能力与代码质量&#xff0c;并积极探索大模型在更多…

基于SpringBoot的智慧党建系统+uniapp移动端+LW示例参考

1.项目介绍 技术栈环境&#xff1a;SpringBootthymeleafuniappIDEA NavicatMySQL 功能介绍&#xff1a; 后端功能&#xff1a;首页管理&#xff08;轮播图、通知公告、新闻管理&#xff09;、用户管理&#xff08;用户信息、用户反馈、用户订单、用户动态&#xff09;、其他…

一文搞定MybatisPlus

Mybatis简介 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 &#xff08;来自官网&#xff09; 体验Mybatisplus 1.创建SpringBoot工程&#xff0c;导入m…

HarmonyOS--认证服务-操作步骤

HarmonyOS–认证服务 文章目录 一、注册华为账号开通认证服务二、添加项目&#xff1a;*包名要与项目的包名保持一致三、获取需要的文件四、创建项目&#xff1a;*包名要与项目的包名保持一致五、添加json文件六、加入请求权限七、加入依赖八、修改构建配置文件&#xff1a;bui…

【UDS诊断】——0x34、0x36、0x37服务

&#x1f64b;‍♂️【UDS诊断服务介绍合集】系列&#x1f481;‍♂️点击跳转 文章目录 一、服务概述1.0x34服务——请求下载数据1.1.0x34格式 2.0x36服务——数据传输2.1.0x36格式 3.0x37服务——退出上传下载3.1.0x37格式 一、服务概述 Client端使用Routine Control服务来…

WIN32实现远程桌面监控

文章目录 完整代码API简介调试代码 后记reference 完整代码 server.cpp #include <winsock2.h> #include <Ws2tcpip.h> #include <windows.h> #include <stdio.h> #include <vector> #pragma comment(lib, "ws2_32.lib")LRESULT CAL…

什么是韦恩图,怎么制作?用这款软件在线绘制,简单又好用!

在日常工作和学习中&#xff0c;我们经常需要用图表来可视化呈现复杂的信息和关系。其中&#xff0c;韦恩图是一种简洁而强大的可视化工具&#xff0c;能够清晰地展现集合之间的关系&#xff0c;诸如包含与被包含、互斥、并列等。 不过对刚接触韦恩图的人而言&#xff0c;或多…

traceroute命令这样用,追踪主机路由没烦恼

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 晚上好&#xff0c;我的网工朋友。 网络的稳定性和可靠性对于业务连续性至关重要。当涉及到网络连接问题时&#xff0c;有一个强大的工具就是 tr…