Справочное руководство по C++ | страница 2
Если входной поток разобран на лексемы до данного символа, то следующей лексемой считается лексема с максимально возможной длиной, которая начинается с этого символа.
R.2.2 Комментарии
Символы /* начинают комментарий, который завершается символами */. Такие комментарии не могут быть вложенными. Символы // начинают комментарий, который завершается концом этой строки. Символы //, /* и */ не имеют специального назначения в комментарии // и рассматриваются как обычные символы. Аналогично символы // и /* не имеют специального назначения внутри комментария /*.
R.2.3 Идентификаторы
Идентификатор - это последовательность букв и цифр произвольной длины. Первый символ должен быть буквой, символ подчеркивания _ считается буквой. Прописные и строчные буквы различаются. Все символы существенны.
R.2.4 Служебные слова
Перечисленные ниже идентификаторы фиксируются как служебные слова и в другом смысле не могут использоваться:
>asm continue float new signed try
>auto default for operator sizeof typedef
>break delete friend private static union
>case do goto protected struct unsigned
>catch double if public switch virtual
>char else inline register template void
>class enum int return this volatile
>const extern long short throw while
В дополнение к этому идентификаторы, содержащие двойное подчеркивание (__) резервируются для реализаций C++ и стандартных библиотек и пользователи не должны употреблять их.
В представлении программы на C++ в кодировке ASCII используются в качестве операций или разделителей следующие символы:
>! % ^ & * ( ) - + = {} | ~
>[ ] \ ; ': " ‹ › ? , . /
а следующие комбинации символов используются для задания операций:
>-› ++ -- .* -›* ‹‹ ›› ‹= ›= == != &&
>|| *= /= %= += -= ‹‹= ››= &= ^= |= ::
Каждая операция считается отдельной лексемой.
В дополнении к этому следующие символы резервируются для препроцессора:
># ##
Определенные, зависящие от реализации, свойства, такие как тип операции sizeof ($$R5.3.2) или диапазоны базовых типов (§R.3.6.1) определяются в стандартных заголовочных файлах (§R.16.4)
>‹float.h› ‹limits.h› ‹stddef.h›
Эти файлы являются частью ANSI стандарта для С. Кроме того заголовочные файлы
>‹new.h› ‹stdarg.h› ‹stdlib.h›
определяют типы самых важных библиотечных функций. Два последних файла входят в ANSI стандарт для С, файл ‹new.h› относится только к С++.