C++-Programmierung: Typedef

Aus Wikibooks
Alte Seite
Diese Seite gehört zum alten Teil des Buches und wird nicht mehr gewartet. Die Inhalte sollen in das neue Buch einfließen: C++-Programmierung/ Inhaltsverzeichnis.

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.