我对何时使用 Ada.Containers.Indefinite_Hashed_Maps 或 Hashed_Maps 感到困惑。
这两个通用包有什么区别?
最佳答案
Ada.Containers.Indefinite_Hashed_Maps 包支持键和元素不定的类型。不定类型是需要附加约束来声明对象的类型。示例:String、T'Class、具有变体部分的类型。
Hashed_Maps 实现能够将键和元素存储在映射实现记录中(无论是表还是树)。这是两者之间最有效的实现。
由于附加约束,Indefinite_Hashed_Maps 无法轻松存储键和元素。大多数实现必须使用对键和元素的访问 来存储它们。每次添加元素时,都需要额外分配内存来存储键和元素。
虽然 Indefinite_Hashed_Maps 适用于有限类型,但如果键和元素类型是确定的,最好使用 Hashed_Maps。
关于containers - 我们什么时候应该使用 Indefinite_Hashed_Maps 或 Hashed_Maps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5132375/