std::unordered_set<my_type> my_set;
my_type 在这里必须满足哪些要求?(除了 std::hash 的专门化)
std::unordered_set<my_type> my_set;
my_type 在这里必须满足哪些要求?(除了 std::hash 的专门化)
您需要对 std::hash 进行专门化,并且需要定义运算符 == 来处理哈希冲突。
编辑:您还应该确保您的类型具有复制构造函数(或让编译器为您生成一个),因为 STL 容器具有值语义。
EDIT2:作为如何执行此操作的示例,您可以查看其他 SO 答案。