for (std::vector<const std::string>::const_iterator it = serverList.begin(); it != serverList.end(); it++)
{
// found a match, store the location
if (index == *it) // index is a string
{
indexResult.push_back(std::distance(serverList.begin(), it)); // std::vector<unsigned int>
}
}
Я написал приведенный выше код, чтобы просмотреть вектор строк и вернуть другой вектор с расположение любых «попаданий».
Есть ли способ сделать то же самое, но быстрее? (Если у меня в контейнере 10 000 элементов, это займет некоторое время.) Обратите внимание, что я должен проверить ВСЕ элементы на совпадения и сохранить их положение в контейнере.
Bonus Kudos: Любой знает способ / ссылки о том, как я могу сделать поиск таким образом, чтобы он находил частичные результаты (Пример: поиск «coolro» и сохранение местоположения переменной «coolroomhere»)