我在尝试创建一个不定的 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/