Перечисленные ниже идентификаторы фиксируются как служебные слова ив другом смысле не могут использоваться: 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 В дополнение к этому идентификаторы, содержащие двойное подчеркивание(__) резервируются для реализаций С++ и стандартных библиотек ипользователи не должны употреблять их. В представлении программы на С++ в кодировке 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> относится толькок С++.