Programmiersprache C/C++

2.x. Schlüsselworte

ANSI-C sieht folgende Schlüsselworte vor:
  auto         double         int                struct
  break        else           long               switch
  case         enum           register           typedef
  char         extern         return             union
  const        float          short              unsigned
  continue     for            signed             void
  default      goto           sizeof             volatile
  do           if             static             while
Neu in den Standard aufgenommen worden sind:
  const        enum           signed             void
  volatile
In älteren Systemen sind diese Schlüsselworte unter Umständen nicht verfügbar.

Nicht mehr als Schlüsselworte vorgesehen sind dagegen:

  asm          entry          fortran
asm und fortran müssen aber als häufig vorhandene Erweiterungen angesehen werden.

Der C++ Standard sieht folgende Schlüsselworte vor:

  asm          do             inline             short         typeid 
  auto         double         int                signed        typename 
  bool         dynamic_cast   long               sizeof        union 
  break        else           mutable            static        unsigned 
  case         enum           namespace          static_cast   using 
  catch        explicit       new                struct        virtual 
  char         extern         operator           switch        void 
  class        false          private            template      volatile 
  const        float          protected          this          wchar_t 
  const_cast   for            public             throw         while 
  continue     friend         register           true 
  default      goto           reinterpret_cast   try
  delete       if             return             typedef
Ältere C++ Systeme unterstützen nicht alle aufgeführten Schlüsselworte.

Reserviert sind in C++ weiterhin die Ersatzsymbole:

  bitand       and            bitor              or            xor
  compl        and_eq         or_eq	         xor_eq        not
  not_eq
Auch die Ersatzsymbole sind in älteren C++ Systemen nicht verfügbar.

C/C++ Implementierungen besitzen meist einen etwas abweichenden Satz an Schlüsselworten.
Beispiel: Borland C++ 4.5

  __asm       _asm            asm                auto          break
  case        catch           __cdecl            _cdecl        cdecl
  char        class           const              continue      __cs
  _cs         default         delete             do            double
  __ds        _ds             else               enum          __es
  _es         __except        __export           _export       extern
  __far       _far            far                __fastcall    _fastcall
  __finally   float           for                friend        goto
  huge        __huge          _huge              if            __import
  inline      int             interrupt          __interrupt   _interrupt
  __loadds    _loadds         long               near          _near
  __near      new             operator           __pascal      _pascal
  pascal      private         protected          public        register
  return      __rtti          __saveregs         _saveregs     __seg
  _seg        short           signed             sizeof        __ss
  _ss         static          __stdcall          _stdcall      struct
  switch      template        this               __thread      throw
  __try       try             typedef            union         unsigned
  virtual     void            volatile           while
Die zusätzlichen Schlüsselworte sind zum Teil auf das DOS-Speichermodell, den integrierten Assembler bzw. auf unterschiedliche Konventionen beim Datenaustausch mit fremdsprachigen Prozeduren zurückzuführen.
Andererseits fehlen Schlüsselworte aus dem neuen C++ Standard.

Hinweis:
Versteht ein Compiler neue Schlüsselworte wie const oder volatile nicht, so kann die folgende Maßnahme hilfreich sein, um ANSI-C-konforme Quelltexte dennoch ohne Änderungen im eigentlichen Quelltext zu übersetzen:

  #define const
  #define volatile
Beispiel:
  const int i;
                       wird zu
  int i;
Es werden "lediglich" Sicherheitsmaßnahmen außer Kraft gesetzt !
Selbstverständlich sollten in jedem einzelnen Fall kritisch geprüft werden, ob die Ausschaltung derartiger Sicherheitsmaßnahmen zu Konflikten führen kann !


Zurück zum Menü
Zurück zur vorigen Seite Weiter zur nächsten Seite

P. Böhme, 24.12.1995