【发布时间】:2010-12-18 21:56:30
【问题描述】:
在 C++ 中相交两个集合的标准方法是执行以下操作:
std::set<int> set_1; // With some elements
std::set<int> set_2; // With some other elements
std::set<int> the_intersection; // Destination of intersect
std::set_intersection(set_1.begin(), set_1.end(), set_2.begin(), set_2.end(), std::inserter(the_intersection, the_intersection.end()));
我将如何进行就地设置的交叉点?也就是说,我希望 set_1 有调用 set_intersection 的结果。显然,我可以只做一个set_1.swap(the_intersection),但这比就地相交效率要低得多。
【问题讨论】: