我想要一个具有齐次键类型但异构数据类型的映射。你如何制作异构boost :: map?
我希望能够像做(伪代码):
boost::map<std::string, magic_goes_here> m;
m.add<int>("a", 2);
m.add<std::string>("b", "black sheep");
int i = m.get<int>("a");
int j = m.get<int>("b"); // error!
我能有一个指向基类的数据类型,但宁可不要。
我从来没有使用过提升,但看过融合库,但无法弄清楚我需要做什么。
感谢您的帮助。
`boost :: variant` – 2014-02-10 22:41:55
如果你知道所有可能的类型,你可能想要在地图中填充,然后`boost :: variant`将很好。如果你真的想要任何类型,那么`boost :: any`就是要走的路。 – Kurt 2014-03-07 05:21:58