Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Gemeinsame Typen

&pagelevel(4)&pagelevel

Um Daten und Funktionen in C und C++ benutzen zu können, müssen sie gleiche oder vergleichbare Typen haben. C++ enthält die gleiche Menge an Basisdatentypen wie C. C++ ist jedoch eine echte Obermenge von C und enthält somit mehr Typen als C.

Folgende Typen können bei der Sprachverknüpfung benutzt werden:

  • Elementare Typen: char, short, int, long, long long, float, double, long double, void

  • Qualifizierer: unsigned, const, volatile

  • Zeiger auf gemeinsame Typen

  • Arrays von gemeinsamen Typen (werden als Zeiger übergeben)

  • Strukturen und Unions
    Diese dürfen in C++ folgende Komponenten nicht enthalten: Elementfunktionen, Konstruktoren, Destruktoren, Basisklassen, Zugriffsspezifizierer. Die Struktur-/Unionkomponenten müssen gemeinsame Typen haben, d.h. sie müssen syntaktisch gleich aussehen.

  • Einfache Aufzählungen

  • Funktionen mit gemeinsamen Argument- und Ergebnistypen
    Die Ellipse (...) ist erlaubt.

Folgende Typen dürfen bei der Sprachverknüpfung nicht benutzt werden:

  • Referenztypen

  • Zeiger auf die Elemente von Klassen, Unions oder Strukturen

  • Klassen

  • Strukturen und Unions, die Elementfunktionen, Konstruktoren, Destruktoren, Basisklassen oder Zugriffsspezifizierer enthalten

  • Aufzählungen mit expliziter Typangabe und/oder Scope: enum E1 : int; enum struct E2; 
  • Typen, die lokal in einer Klasse definiert sind

  • Elementfunktionen

  • Templates

  • std::nullptr_t
  • bool
  • _Complex, _Imaginary (ein C11 Feature)
  • Arrays mit variabler Länge (ein C11 Feature)