Я просто разговаривал с другом о том, что было бы самым эффективным способом проверить, есть ли у std::string только пробелы. Ему нужно сделать это на встроенном проекте, над которым он работает, и, по-видимому, для него такая оптимизация.
Я придумал следующий код, он использует 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;
}
Я ищу отзыв для этого кода, и более эффективные способы выполнения этой задачи также приветствуются.