I was wondering is there any function to compare 2 string vectors to return the number of different(or the same) elements? Or i have to iterate over both of them and test it
std::sort(v1.begin(), v1.end());
std::sort(v2.begin(), v2.end());
std::vector v3;
std::set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), std::back_inserter(v3));
Or, if you don't want to sort:
std::set s1(v1.begin(), v1.end());
std::set s2(v2.begin(), v2.end());
std::vector v3;
std::set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(v3));
You may want to use a multiset if there could be duplicates in a vector.