std::list
2 つのリストの差分を取得する準備ができている関数はありますか?
たとえば、私は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
getlist1_unique
とlist2_unique
、およびstd::set_intersection
get list1_and_list2
. まだソートされていない場合は、 でソートできますstd::list::sort()
。