gpt4 book ai didi

c++ - 如何比较二维空间中的两点

转载 作者:行者123 更新时间:2023-11-28 02:35:18 24 4
gpt4 key购买 nike

我有一个类可以像这样在二维空间中保存我的:

class Point{
public:
Point(double a, double b){ x = a; y = b; }

//some additional information

private:
double x, y;
};

我喜欢在 std::set 中包含这些 Points 但我不知道如何编写比较结构

struct cCompare{
bool operator()(const Point &p1, const Point &p2){
//what should I write here??
}
};

如果 (p_1,p_2) = (q_1,q_2),则 pq 等两个点相等。我是否必须在我的 Point 类中存储一些额外的信息?每个 Point 的索引或任何唯一编号之类的东西?并有这样的东西:

struct cCompare{
bool operator()(const Point &p1, const Point &p2){
return (p1.index < p2.index);
}
};

最佳答案

如果为了存储在一个集合中而需要任何排序关系,您可以使用字典顺序:

P1 < P2比较 P1.x < P2.x || (P1.x == P2.x && P1.y < P2.y)

关于c++ - 如何比较二维空间中的两点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27676293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com