Ada.Containers.Indefinite_Hashed_Maps 中类范围键的哈希值

标签 hash hashmap ada indefinite

我在尝试创建一个不定的 HashMap 时遇到了麻烦,因为我想要作为从抽象类继承的关键特定对象,因此 Key_Type 是父类范围的,但我不知道如何处理容器所需的哈希,因为 Hash_Type 是模块化类型。 如何处理类范围 key 的哈希值?

最佳答案

首先想到的是向 Key_Type 抽象类添加一个“Hash”原语函数,使用该具体类型的组件在每个具体派生 key 类型中实现,然后为map 根据 key 的实际类型,通过 redispatch 调用这个原始 Hash 函数。

关于Ada.Containers.Indefinite_Hashed_Maps 中类范围键的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67516644/

相关文章:

Eclipse -- 手动安装插件

pointers - Ada:如何访问 Vector 元素?

ruby - 在 ruby​​ 中映射哈希的更简洁方法

hash - 密码盐如何增加安全性

MySQL 转换为大写不起作用

java - 使用 HashMap 中提供的数据从 ArrayList 中查找选定的数据

c++ - tbb 并发 HashMap 作为结构的成员

ada - 调用作为不带参数的访问类型传递的函数

ruby - 为什么 double splat 仅适用于符号键?

java - 如果该类不用作 HashMap 中的键,是否有任何实际意义来覆盖哈希码?