Очевидное, но, возможно, слишком медленное решение: std::find(vec.begin(), vec.end(), your_string);
Если ваш вектор сильно не меняется, сначала отсортируйте его, затем используйте binary_search
, lower_bound
, upper_bound
или equal_range
.Если ваш вектор сильно меняется, попробуйте вместо этого использовать set
/ multiset
(или, если необходимо, map
/ multimap
).
В зависимости от ваших потребностей хеш (unordered_set
) может бытьтакже подходит, но он больше отличается от вашего первоначального выбора контейнера, чем обычные заказанные контейнеры, и не поставляется до C ++ 0x (вы можете легко получить его из boost).