首页 > 其他分享 >在一个变量中存多种类型的数据

在一个变量中存多种类型的数据

时间:2024-07-16 10:29:35浏览次数:9  
标签:std 变量 variant value 中存 类型 多种类型 data any

是什么:
包含< variant >

std::variant

允许列出变量所有的可能的类型,然后决定它是什么类型

代码示例:

int main()
{
 std::variant<std::string,int> value;
value="Hello";
value=4;
value.index(0);//类型索引,会把类型映射到索引上0,1;会取到"Hello"
}
std::get<int>(value);//提取数据

std::get_if< std::string>(variant类型参数)

//获取当前数据类型作为字符串 会返回一个指针;

std::any

可以存任何的类型;

std::any data;
data=7;
data="Hello";
std::any_cast<std::string>(data);//读取当前模版类的类型,若不是会抛出异常

std::any和std::variant的区别

std::any会动态的分配空间
std::variant 静态分配 效率高;

数据提取

variant.index(索引值)//类型索引,会把类型映射到索引上0,1;
std::get(value)//以模版类型提取;
std::any_cast< std::string>(data);//读取当前模版类的类型,若不是会抛出异常

标签:std,变量,variant,value,中存,类型,多种类型,data,any
From: https://www.cnblogs.com/WZline/p/18304681

相关文章

  • 随机变量线弹性材料蒙特卡洛模拟
    随机变量线弹性材料蒙特卡洛模拟建模步骤参数与随机变量参数几何材料边界约束网格剖分计算研究模拟结果模型文件下载建模步骤新建——模型向导——二维选择物理场——固体力学——稳态——完成参数与随机变量参数输入参数如下:全局定义——右键函数——随机变......
  • 什么是 Java 中的静态变量和静态方法?它们在类与对象间的关系是如何体现的?
    在Java编程的世界里,静态变量和静态方法是两个非常基础且重要的概念,它们让我们的代码更加灵活和高效。想象一下,你正在设计一个班级管理系统,每个学生都有姓名和学号,但班级的名称只有一个,对所有人共享。这里的班级名称就可以用静态变量来表示,因为它不属于任何一个特定的学生,而是......
  • Linux查看某个进程的环境变量,以及重定向后的输出
    1.查看环境变量根据进程pid看,以121927号进程为例:cat/proc/121927/environ|tr'\0''\n'每个环境变量都以'\0'结束,直接cat会不方便查看,将'\0'替换为'\n'可以方便查看。注意,tr后必须加单引号,不然参数会被shell转义为0和n。或者可以:cat/proc/121927/environ|tr\\0\\n......
  • 分别给【测试计划】、【线程组】、【取样器】设置配置元件--用户定义的变量,发送请求,生
    在jmeter中,测试计划、线程组、取样器都可以添加配置元件---用户定义的变量,那么我们在实际发送请求的时候,使用的是哪个变量呢?使用的是取样器定义的变量1.测试计划2.线程组3.取样器发送请求,使用的accounts的值为取样器的apitest21jmeter寻找变量的顺序是:测试计划--->线程......
  • C++11标准库 条件变量 <condition_variable> 梳理
    目录<condition_variable>condition_variable类类方法生产者消费者模型--阻塞队列单条件变量版condition_variable_any模板类区别优缺点<condition_variable>条件变量是C++11提供的另外一种用于等待的同步机制,它能阻塞一个或多个线程,直到收到另外一个线程发出的通知或者超时......
  • 易优CMS模板标签assign定义变量模板文件中定义变量,可在其他标签里使用该变量
    【基础用法】标签:assign描述:模板文件中定义变量,可在其他标签里使用该变量用法:{eyou:assignname='typeid'value='5'/}文件:无涉及表字段:name=''变量名value=''赋给变量名的值底层字段:无 【更多示例】-------------------------------示例1----------------------......
  • 帝国CMS网站通过自定义扩展变量功能,用户可以自定义公共的程序使用变量,为用户扩展系统
    通过自定义扩展变量功能,用户可以自定义公共的程序使用变量,为用户扩展系统带来便利。比如可以增加像系统$public_r[newsurl]这样的变量,还比如扩展了某个系统模型,需要增加设置项都可以用扩展变量来实现...等等。 一、登录后台,单击“系统”菜单,选择“扩展变量”......
  • 帝国CMS网站内容模板变量说明
    (一)、字段值数组:$navinfor调用方法:$navinfor['字段名'],比如要显示"信息ID字段",那在模板里用:<?=$navinfor['id']?>即可输出(单引号加不加均可)(二)、使用范例1:调用与当前信息的标题相同的下载信息。灵动标签调用:[e:loop={'download',10,18,0,"title='$navinfor[title]'"}]<a......
  • CEEMDAN-VMD-CNN-LSTM二次分解结合卷积双向长短期记忆神经网络多变量时序预测(Matlab完
    CEEMDAN-VMD-CNN-LSTM二次分解结合卷积长短期记忆神经网络多变量时序预测(Matlab完整源码和数据)CEEMDAN分解,计算样本熵,根据样本熵进行kmeans聚类,调用VMD对高频分量Co-IMF1二次分解,VMD分解的高频分量与Co_IMF2;Co_IMF3分量作为卷积长短期记忆神经网络模型的目标输出分别预测......
  • CEEMDAN-VMD-CNN-GRU二次分解结合卷积门控循环单元多变量时序预测(Matlab完整源码和数
    CEEMDAN-VMD-CNN-GRU二次分解结合卷积门控循环单元多变量时序预测(Matlab完整源码和数据)CEEMDAN分解,计算样本熵,根据样本熵进行kmeans聚类,调用VMD对高频分量Co-IMF1二次分解,VMD分解的高频分量与Co_IMF2;Co_IMF3分量作为卷积门控循环单元网络模型的目标输出分别预测后相加。......