строковые символы могут быть доступны по индексу, указателям и с помощью итераторов.
если вы хотите использовать итераторы, вы можете создать функцию, которая проверяет, есть ли в строке пробел или нет:
bool spacecheck(const string& s)
{
string::const_iterator iter = s.begin();
while(iter != s.end()){
if (isspace(*iter))
return true;
else
++iter;
}
}
В начале функции я инициализировал итератор для начала строки s , используя функцию .begin () , котораяв этом случае возвращает итератор к первому символу в строке.В функции while условие: iter ! = s.end () .В этом случае end () возвращает в итераторе ссылку на элемент после последнего символа строки.В теле (* iter) , то есть значение, на которое указывает iter, отправляется функции isspace () , которая проверяет, является ли символ пробелом.Если это не удается, iter увеличивается, что делает его указателем на следующий элемент строки.
Я сам изучаю c ++ и, выписывая все это, это помогло моему пониманию некоторых.Надеюсь, я вас не обидел, если вам все это показалось очень простым, я просто пытался быть кратким.
В настоящее время я учусь на Accelerated c ++ и не могу рекомендовать это достаточно высоко!