sort std::set using operator() to order the insertions

前端 未结 2 2001
清酒与你
清酒与你 2021-01-29 04:31

I am continuing this post after This we have a class as:

class LaneConnector {
public:

    const Lane* getLaneFrom() const {
        return From;
    }
    con         


        
2条回答
  •  孤独总比滥情好
    2021-01-29 04:53

    std::set keeps track of elements based on the key. In your comparator you have return a->getLaneID() < b->getLaneID();. Thus Lane ID implicitly becomes the key. Since if a and b have the same LaneID, then both MyLaneConectorSorter(a, b) and MyLaneConectorSorter(b, a) are returning false.

    Your set thus can not contain more than one LaneConnectior with the same LaneID.

提交回复
热议问题