我将在这之后继续这篇文章,我们 有一个课程:
class LaneConnector {
public:
const Lane* getLaneFrom() const {
return From;
}
const Lane* getLaneTo() const {
return To;
}
private:
Lane* From;
Lane* To;
}
和一个比较为的函子:
struct MyLaneConectorSorter {
bool operator() (const LaneConnector* rhs, const LaneConnector* lhs) const
{
// you may want to put some null pointer checks in here
const Lane* a = lhs->getLaneFrom();
const Lane* b = rhs->getLaneFrom();
return a->getLaneID() < b->getLaneID();
}
};
最后是源和目标集:
const std::set<LaneConnector*> src = ..... ;
const std::set<LaneConnector*, MyLaneConectorSorter> dest(src.begin(), src.end(), MyLaneConectorSorter());
dest 集的大小将为 1,而 src 有更多(在我的情况下为 14)
我可能做错了什么?我重视你的善意评论。谢谢