我有一组表示地图中坐标的n 个对象,我希望它们中的每一个都保持一个priority_queue,其中k最接近它们的位置。
问题是priority_queue接收谓词类而不是函数对象,所以我还没有找到为每个priority_queue指定不同参考点的方法
即类似的东西:
std::priority_queue<
Vertex*,
std::vector<Vertex*>,
DistanceComparer(fromVertex)>
pqueue; // doesn't compile
相对于:
DistanceComparer::from = fromVertex;
std::priority_queue<
TRVertex*,
std::vector<TRVertex*>,
DistanceComparer>
pqueue; // compiles but unhelpful
从静态制作真的没有帮助,因为我需要为每个priority_queue使用不同的点参考