问题是:我想使用unordered_map存储键和值,其中键可以是A类或B类,具体取决于用户选项。这两个类A和B继承来自同一类P.unordered_map和虚拟模板
class A: public P {...}
class B: public P {...}
我想与抽象P舱定义地图和以后,根据运行时间选项,其中A或B,为分配有一个地图关键:
unordered_map< P, CValue, P::hash, P::equal_to> * pmap = new unordered_map< A, CValue, A::hash, A::equal_to>;
,但我会得到错误:
cannot convert ... in initialization
我如何声明这样一个 “虚拟” 的地图?
所以我们map_unordered,unordered_map和unsorted_map - 它要价太高了,你得到一个简单的名字吧? – 2011-06-07 10:35:40
你能举一个例子说明如何使用它?另外,您是否需要具有异构密钥的地图,还是您需要一组具有同类密钥的地图? – 2011-06-07 13:29:31
在代码的开始部分,我选择使用哪种类型的键:A或B,它将在程序后面的所有时间使用。但是我不能“静态”定义地图模板,因为关键类型取决于用户的选项。在这种特殊情况下,我将用它来统计一些网络统计信息,并且我想通过AS号码的前缀_或_来聚合它们。 – 2011-06-07 15:51:05