私はこのコードを持っています:
set<int>::iterator new_end =
set_difference(set1.begin(), set1.end(),
set2.begin(), set2.end(),
set1.begin());
set1.erase(new_end, set1.end);
Visual Studioでコンパイルされ、正常に実行されます。ただし、前の質問で、人々はset
'イテレータはであると想定されていると述べましたconst
。規格にはそのようなものは見当たりません。誰かがそれがどこにあるのか、またはこれが明確に定義された動作であるかどうかを教えてもらえますか?
そうでない場合は、必要なことを実行するコードを提供してください。一時的なセットを作成せずにこれを行う方法はありますか?