是否有准备好的功能来获取两个std::list列表的差异?
例如我有list1: obj1, obj2, obj3, obj4和list2: obj2, obj3, obj4, obj5。
函数结果应该是list1_unique: obj1, list1_and_list2: obj2, obj3, obj4, list2_unique: obj5。
(编写自己的实现并不难,但我更喜欢标准函数)
如果您的列表已排序(如您的示例所示),std::set_difference请获取list1_unique和list2_unique,并std::set_intersection获取list1_and_list2。如果它们尚未排序,您可以使用std::list::sort().