"cppref algorithm/set_difference"とかで調べればすぐに分かるだろう、と思ったら分からんかった><inserterって何やねん。
#include <iostream> #include <algorithm> #include <set> #include <boost/foreach.hpp> using namespace std; int main(int argc, char *argv[]) { set<int> s1; s1.insert(1); s1.insert(2); s1.insert(100); set<int> s2; s2.insert(2); s2.insert(3); set<int> diff; set_difference(s1.begin(), s1.end(), s2.begin(), s2.end(), inserter(diff, diff.end())); BOOST_FOREACH(int i, diff) { cout << i << endl; } return 0; }
s1にあるけど、s2にはないものを出力。