我们什么时候应该使用Indefinite_Hashed_Maps或Hashed_Maps

时间:2011-02-27 09:20:09

标签: containers ada

我对何时使用Ada.Containers.Indefinite_Hashed_Maps或Hashed_Maps感到困惑。

两个通用软件包有什么区别?

1 个答案:

答案 0 :(得分:3)

Ada.Containers.Indefinite_Hashed_Maps包支持对键和元素不确定的类型。不定类型是需要额外约束来声明对象的类型。示例:String,T'Class,具有变体部分的类型。

Hashed_Maps实现能够将键和元素存储在映射实现记录中(无论是表还是树)。这是两者之间最有效的实现。

由于附加约束,Indefinite_Hashed_Maps无法轻松存储密钥和元素。大多数实现都必须使用对密钥和元素的访问 存储它们。每次添加元素时,都需要额外的内存分配来存储密钥和元素。

虽然Indefinite_Hashed_Maps适用于有限类型,但如果键和元素类型是明确的,最好使用Hashed_Maps。