我希望拥有一个具有同质键类型但异质数据类型的映射。
我想要能够执行以下类似的操作(伪代码):
我想要能够执行以下类似的操作(伪代码):
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,但看过fusion库,不过还是搞不清楚需要做什么。
谢谢你的帮助。
boost::variant
将非常适合。如果您想要任何类型,则boost::any
是正确的选择。 - Kurt