augmenter string_algo valeur de retour en cas d'échec de découverte
-
27-10-2019 - |
Question
Je veux trouver le premier espace sur une ligne en utilisant la trouvaille de boost :: string_algo premier:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
Je ne peux pas sembler trouver quoi que ce soit dans les documents qui dit ce que ce rendement si elle ne trouve pas un espace, cependant. Ai-je besoin de token_range.end test () contre line.end () ou quelque chose?
Merci!
La solution
Je pense que vous devriez juste token_range.empty()
test, comme ceci:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
if (!token_range.empty())
{
// Found a a match
}
boost::iterator_range
a également un opérateur de conversion bool, de sorte que vous pouvez même déposer l'appel de fonction vide (), et il suffit d'écrire:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
if (token_range)
{
// Found a a match
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow