向量析取

Vectors disjunction

在 c++ 中实现两个 std::vectors 之间的逻辑析取的最优雅的方法是什么?

例如:

vector a = {0,1,2,3,4,5,6,7,8,9};
vector b = {0,1,2,3,4};
vector c = a-b;

print c = {5,6,7,8,9}

std::set_difference,序列应该排序。

示例:

std::vector<int> c;
std::set_difference
(
   a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(c)
);