我正在尝试像这样定义一个 unordered_set:
unordered_set<Point> m_Points;
当我编译它时,我收到以下错误:
C++ 标准不提供这种类型的散列。
类Point
:
class Point{
private:
int x, y;
public:
Point(int a_x, int a_y)
: x(a_x), y(a_y)
{}
~Point(){}
int getX()const { return x; }
int getY()const { return y; }
bool operator == (const Point& rhs) const{
return x == rhs.x && y == rhs.y;
}
bool operator != (const Point& rhs) const{
return !(*this == rhs);
}
};
- 如何/在哪里为Point定义哈希函数?
- 对于 2D 点,什么是好的散列函数?