У меня есть вектор ключевых слов, и мне нужно перебирать его.Итерация через вектор без начала и конца
Моя попытка:
bool isKeyword(string s)
{
return find(keywords, keywords + 10, s) != keywords + 10;
}
однако это работает для массива, но не для вектора. Как я могу изменить + 10 для итерации по вектору? Мне нужно это, так как я не могу использовать end и начинать, потому что у меня нет поддержки C++ 11.
ошибки приведены для приведенного выше кода:
error: no matching function for call to 'find(std::vector<std::basic_string<char> >&, std::vector<std::basic_string<char> >::size_type, std::string&)'|
'keywords.begin()'. Для этого вам не нужен C++ 11. Почему +10, правда? – dlf
@dlf, предположительно текущий массив имеет 10 элементов. Во всяком случае, легко создать свои собственные бесплатные версии 'begin' и' end', если у вас нет C++ 11. – chris
Посмотрите на эту замечательную ссылку относительно вектора: [std :: vector] (http://en.cppreference.com/w/cpp/container/vector). Вы найдете, что 'begin()' и 'end()' и соответствующие итераторы были поддерживаются задолго до выпуска C++ 11. –