gpt4 book ai didi

c++ - 不同类型数据的注册

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:04 24 4
gpt4 key购买 nike

我想保留某种类型的容器,其中类型映射到该类型的一个值。所以基本上我想要的是 std::map<std::typeindex, T>其中 T 取决于我索引它的类型。 std::map看起来不是一个很好的方法,因为类型是严格的。执行此操作时我可以使用的最简单的解决方案是什么?

最佳答案

如果你映射到类型删除的容器,如 boost::any,如果你知道它是什么,你至少可以恢复类型:

std::map<std::typeindex, boost::any> m;

m[typeid(Foo)] = Foo(1, true, 'x');

Foo & x = boost::any_cast<Foo&>(m[typeid(Foo)]);

关于c++ - 不同类型数据的注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19212854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com