s1 と s2 はセットです (Python セットまたは C++ std::set)
s2 の要素を s1 に追加するには (セット ユニオン)、次のようにします。
Python: s1.update(s2)
C++: s1.insert(s2.begin(), s2.end());
s1 から s2 の要素を削除するには (集合の差)、次のようにします。
Python: s1.difference_update(s2)
これに相当する C++ は何ですか? コード
s1.erase(s2.begin(), s2.end());
s1.erase() は s1 からの反復子を必要とするため、機能しません。コード
std::set<T> s3;
std::set_difference(s1.begin(), s1.end(), s2.begin(), s2.end(), std::inserter(s3, s3.end());
s1.swap(s3);
動作しますが、少なくとも Python と比較すると、過度に複雑に見えます。
もっと簡単な方法はありますか?