Я полностью осознаю, что set_difference
может вычесть два набора, и я знаю, что операторы являются синтаксическими c сахарами. Но мне интересно, почему разработчики стандартной библиотеки не предоставляют такую функциональность, поэтому вычитание становится таким простым?
#include <iostream>
#include <algorithm>
#include <set>
int main ()
{
std::set<int> s1{5,10,15,20,25};
std::set<int> s2{50,40,30,20,10};
for (int x: s1 - s2)
std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
вместо использования этого усложнения:
std::set_difference (s1.begin(), s1.end(), s2.begin(), s2.end(), v.begin());
Есть ли реализация препятствия?