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

c++17--std::variant

作用

std::variant 是 C++17 引入的一个类型安全的联合体(union)替代品,它允许存储多种不同类型的值,但在任何时候只能存储其中一种类型的值。

案例

存储,判断存储类型,获取值。

#include <iostream>
#include <string>
#include <variant>int main() {std::variant<int, float, std::string> v;v = 42;    // 存储 intv = 3.14f; // 存储 float// v = "hello"; // 存储 std::string// 访问值try {// auto s = std::get<std::string>(v);auto s = std::get<1>(v);std::cout << s << std::endl;} catch (const std::bad_variant_access &e) {std::cout << "Not a string:" << e.what() << std::endl;std::cout << "Current index: " << v.index() << std::endl;}// 检查当前存储的类型if (std::h
http://www.dtcms.com/a/301587.html

相关文章:

  • 决策树算法小结(上)
  • cmake入门学习
  • HCIE学习之路:路由引入
  • 嵌入式硬件篇---ESP32拓展板
  • C语言中 %zu 的用法
  • Javascript中的instanceof
  • VMware Workstation Pro虚拟机的下载和安装图文保姆级教程(附下载链接)
  • 点云的协方差矩阵的三个特征值代表什么?
  • 5.7 多处理器的基本概念 (答案见原书 P278)
  • 6、企业信息化
  • 大模型应用主要组成
  • 一、openEuler 安装git 详细操作步骤
  • 俄罗斯方块游戏开发(面向对象编程)
  • CPA青少年编程能力等级测评试卷及答案 Python编程(三级)
  • Go的defer和recover
  • Windows 11 安装 jdk 8
  • Cgroup 控制组学习(三)在容器中使用 CGroups
  • goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
  • 微服务架构面试题
  • PiscCode使用OpenCV实现漂浮方块特效
  • 编程语言Java——核心技术篇(五)IO流:数据洪流中的航道设计
  • 仓库管理系统-2-后端之基于继承基类的方式实现增删改查
  • 【RL第三篇】REINFORCE Leave-One-Out(RLOO)算法(基于留一法的REINFORCE策略梯度算法)
  • RK3568基于mpp实现硬解码(一):mpp库的编译使用
  • [每周一更]-(第151期):Go语言中的Map、Slice、Array和Hash原理详解
  • 博士招生 | 香港大学 招收人工智能和网络安全方向 博士生
  • 7.27 状态机dp|质数线性筛|序列化树
  • Linux网络-------2.应⽤层⾃定义协议与序列化
  • SpringBoot实现Serverless:手撸一个本地函数计算引擎
  • mcu trace工具调研