【发布时间】:2013-11-12 21:49:46
【问题描述】:
我需要一个支持从任何类型到任何类型的映射的地图。
正如标题所说,任何类型都意味着(除其他外)矢量、地图、所有类型的数字等。
我考虑编写某种包装器,正如我在此处 (http://www.parashift.com/c++-faq-lite/heterogeneous-list.html) 发现的那样,映射需要包含异构类型(实际上数组需要,但映射是关联数组)。
对此有什么想法,或者我的方法应该是什么?
谢谢
【问题讨论】:
-
你可以有一个类型为 enum 的结构体和一个 void* 数据条目
-
我假设顺序不是一个因素,因为完全不相交的类型,没有。我对您的方法的想法很简单:如果您认为这是一个解决方案,那么您最好确保您了解问题所在,我并不是说您的解决方案存在问题。
-
你的意思是需要在同一个map中存储不同的类型?为此,您需要Boost.Any 之类的东西;要么改变你的“NO BOOST”要求,要么自己重写。