class Point
{
int x;
}
static Point referencePoint;
struct Comparator
{
bool AbsComparator(const Point& p1, const Point& p2)
{
return abs(p1.x - referencePoint.x) < abs(p2.x - referencePoint.x);
}
};
list<Point> points;
points.sort(Comparator::AbsComparator);
但我不能使用一个静态的referencePoint多线程安全,有没有其他方式? 谢谢。我怎样才能写一个中间变量为stl比较器
如果您的referencePoint被用作只读确定您可以 – akappa
您可以使用[thread-local storage](http://en.wikipedia.org/wiki/) Thread-local_storage)(TLS)。 –