Je parlais juste avec un ami de ce qui serait le moyen le plus efficace de vérifier si un std::string n'a que des espaces. Il doit le faire sur un projet embarqué sur lequel il travaille et apparemment ce type d'optimisation compte pour lui.
J'ai trouvé le code suivant, il utilise strtok()
.
bool has_only_spaces(std::string& str)
{
char* token = strtok(const_cast<char*>(str.c_str()), " ");
while (token != NULL)
{
if (*token != ' ')
{
return true;
}
}
return false;
}
Je recherche des commentaires sur ce code et des moyens plus efficaces d'effectuer cette tâche sont également les bienvenus.