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

标签 containers ada

我对何时使用 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/

相关文章:

docker - 我有一个带有json文件的dockerVolume.Am想使用一些docker命令或运行一个shell脚本来打印json

mysql - 不同位置的 Docker django mysql.sock

compiler-errors - Ada95 Tagged Limited Record 给我错误 "Completion of nonlimited type cannot be limited"

ios - native 链接错误无法为 XXX 创建紧凑展开,不使用标准框架 (MT5209)

ada - Ada 中的迭代器

ada - 为什么任何迭代都可能无法保留我的循环不变量?

python-3.x - 使用 `cherrypy.tree.mount`时无法连接到Dockerized CherryPy Server

c++ - 接受非标准可构造和不可分配类型的 vector 的替换

docker - 如何在 systemd 中运行在容器中运行的服务,包括 systemd-notify 和日志记录

erlang - 用 Ada 写的 Erlang?