在一个变量中存多种类型的数据
是什么:
包含< 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< int>(value)//以模版类型提取;
std::any_cast< std::string>(data);//读取当前模版类的类型,若不是会抛出异常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端