相关疑难解决方法(0)

如何在 C++ 中使用 std::unordered_set?

我在 Java 中选择了哈希表的概念,因此我意识到要为自定义类工作的通用“哈希集”容器,必须为哈希函数和相应的相等函数提供定义。

在 Java 中,这意味着覆盖方法

int hashCode()
Run Code Online (Sandbox Code Playgroud)

boolean equals (Object o)
Run Code Online (Sandbox Code Playgroud)

.

我期待在 C++ 的 STL 中使用相同的逻辑,但是在理解语法时遇到了麻烦。具体来说, std::unordered_set<> 接受 5 个模板参数(你相信吗?),这看起来像个怪物,让我头晕目眩。

因此,如果有人能为当前的玩具类举一个简单的例子,我将不胜感激:

class Some{
public :
int a;
};
Run Code Online (Sandbox Code Playgroud)

其中哈希函数只返回 a 的值,而等式测试函数返回 true 且仅当成员 'a' 的值相同。

谢谢

c++ hash

3
推荐指数
1
解决办法
1265
查看次数

标签 统计

c++ ×1

hash ×1