对 std::unordered_set 中元素的要求
Requirements for elements in std::unordered_set
std::unordered_set<my_type> my_set;
my_type必须满足哪些要求?(除了 std::hash 的专业化(
你需要一个 std::hash 的专用化,你需要一个运算符 == 定义来处理哈希冲突。
编辑:您还应该确保您的类型具有复制构造函数(或让编译器为您生成一个(,因为 STL 容器具有值语义。
EDIT2:作为如何执行此操作的示例,您可以查看其他SO答案。
相关文章:
- 对于set上的循环-获取next元素迭代器
- set::find 查找不存在的元素
- 是否有一个 std::set 函数来确定不超过数字 x 的最大元素?
- 如何从 std::set 绘制 n 个元素的样本
- 从 std::set 中删除元素,同时在 C++17 中迭代该元素
- 如何在对数时间内访问 c++ std::set 中的第 k 个元素?
- 语言的哪一部分禁止更改 std::set 的元素
- 如何在一对集合的向量中插入元素?vector<pair<int,set<string>>>
- 在 std::set 中查找 std::vector 的元素
- 创建 std::set 只复制一个元素,如何解决这个问题?
- 为什么 std::set 遍历所有元素的速度较慢?
- 为什么在查找元素时需要使用 set.find(x) != set.end()
- 直接访问 STL "set"元素
- 新元素将在std :: set中插入哪里
- std :: set and std :: unordered_set构造元素与emplace()如何
- 通过与不同类型的值进行自定义比较来查找 std::set 的元素
- 删除 std::set<Node *> 中的元素的正确方法
- 如何使用反向迭代器从“std::set”中删除元素
- 给定一个 std::set::iterator,获取一个指向下一个元素的迭代器
- 无法将 std::set 中的元素迭代器插入到 std::list