Есть два массива строк вида vector<string>. Массивы эти достаточно большие: порядка 30000 элементов в каждом, причем строки как правило тоже относительно длинные - может и по 100-200 символов быть. Задача состоит в том, что надо вызывать функцию с параметром в виде строки из первого массива, но только если эта строка не содержится во втором массиве. Известно, что для каждого массива все строки различны (т.е. в одном массиве одинаковых строк нет). Я это реализовал примерно так:
bool doThis;
vector<string> str1 = getData(1);
vector<string> str2 = getData(2);
for (unsigned int i=0; i<str1.size(); ++i) {
doThis=true;
for (unsigned int y=0; y<str2.size(); ++y) {
if (str1[i]==str2[y]) {
doThis=false;
break;
}
}
if (doThis) doSomething(str1[i]);
}