C++-Programmierung: Typedef
Mit einer typedef
-Deklaration geben Sie einem (primitiven oder zusammengesetzten) Datentyp einen Aliasnamen. Deklarieren Sie z.B.
typedef int Ganzzahl;
könnten Sie anschließend überall Ganzzahl
anstatt int
schreiben, gerade so, als ob ein neues Schlüsselwort zur Verfügung stünde. Gültigkeitsbereich ist der jeweilige Block (bzw. die jeweilige Klasse).
Wie Sie in den vorigen Kapiteln erfahren haben, lassen sich in C++ mit Hilfe von Array, Zeiger und Funktion aus primitiven Typen beliebig komplizierte aufbauen. Um einen Aliasnamen einzuführen, gehen Sie so vor: Variable des gewünschten Typs deklarieren, Variablennamen durch den Alias-Typnamen ersetzen, typedef
davorschreiben, fertig. Beispiel:
typedef int(*Fzeiger)(double);
Jetzt steht Fzeiger
für den Typ: Zeiger auf Funktion mit Parameter double und Resultat int.
Typedef ist in zwei Situationen nützlich. Einmal, um für komplizierte Typen griffige Namen zu haben. Z.B. ist die Klasse string der Standardbibliothek in Wirklichkeit ein Alias für die Template-Klasse basic_string<char>
.
Die andere Anwendung betrifft die Portierung von Programmen. Denken Sie an ein Programm, das mit Ganzzahlen arbeitet und dabei einen Wertebereich von 16bit benötigt. Auf manchen Maschinen entspricht das einem int
, auf anderen einem short
. Steht die jeweils passende Deklaration, also etwa
typedef short int16;
in einer Headerdatei, so können Sie plattformunabhängig immer mit dem Typnamen int16
arbeiten.