>ispunct(с) | Возвращает значение >true , если >с — знак пунктуации (т.е. символ, который не является управляющим символом, цифрой, символом или печатаемым отступом) |
>isspace(с) | Возвращает значение >true , если >с — символ отступа (т.е. пробел, табуляция, вертикальная табуляция, возврат, новая строка или прогон страницы) |
>isupper(с) | Возвращает значение >true , если >с — символ в верхнем регистре |
>isxdigit(с) | Возвращает значение >true , если >с — шестнадцатеричная цифра |
>tolower(с) | Если >с — прописная буква, возвращает ее эквивалент в нижнем регистре, в противном случае возвращает символ с неизменным |
>toupper(с) | Если >с — строчная буква, возвращает ее эквивалент в верхнем регистре, в противном случае возвращает символ с неизменным |
Кроме средств, определенных специально для языка С++, его библиотека содержит также библиотеку языка С. Имена заголовков языка С имеют формат >имя.h
. Версии этих же заголовков языка С++ имеют формат >cимя
, т.е. суффикс >.h
удален, а >имени
предшествует символ >с
, означающий, что этот заголовок принадлежит библиотеке С.
Следовательно, у заголовка >cctype
то же содержимое, что и у заголовка >ctype.h
, но в форме, соответствующей программе С++. В частности, имена, определенные в заголовках с имя, определены также в пространстве имен >std
, тогда как имена, определенные в заголовках >.h
, — нет.
Как правило, в программах на языке С++ используют заголовки версии >cимя
, а не >имя.h
. Таким образом, имена из стандартной библиотеки будут быстро найдены в пространстве имен >std
. Использование заголовка >.h
возлагает на программиста дополнительную заботу по отслеживанию, какие из библиотечных имен унаследованы от языка С, а какие принадлежат языку С++.
>for
>for
(range >for
). Этот оператор перебирает элементы данной ему последовательности и выполняет с каждым из них некую операцию. Его синтаксическая форма такова:
>for (объявление : выражение)
> оператор
где >выражение
— это объект типа, который представляет последовательность, а >объявление
определяет переменную, которая будет использована для доступа к элементам последовательности. На каждой итерации переменная в >объявлении
инициализируется значением следующего элемента в >выражении
.
Строка представляет собой последовательность символов, поэтому объект типа >string
можно использовать как >выражение
в серийном операторе >for
. Например, серийный оператор >for
можно использовать для вывода каждого символа строки в отдельной строке вывода.
>string str("some string");
>// вывести символы строки str по одному на строку
>for (auto с : str) // для каждого символа в строке str
> cout << с << endl; // вывести текущий символ и символ новой строки
Цикл >for
ассоциирует переменную >с
с переменной >str
типа >string
. Управляющая переменная цикла определяется тем же способом, что и любая другая переменная. В данном случае используется спецификатор