"Справочное руководство по C++" - читать интересную книгу автора (Страустрап Бьярн)

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 используются в качестве операций или разделителей следующие символы:

! % ^ amp; * ( ) - + = {} | ~

[ ] \ ;  ': " ‹ › ? , . /

а следующие комбинации символов используются для задания операций:

-› ++ -- .* -›* ‹‹ ›› ‹= ›= == != amp;amp;

|| *= /= %= += -= ‹‹= ››= amp;= ^= |= ::

Каждая операция считается отдельной лексемой.

В дополнении к этому следующие символы резервируются для препроцессора:

# ##

Определенные, зависящие от реализации, свойства, такие как тип операции 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› относится только к С++.