C++: Ein Keyword für drei Konstrukte

So weit, so gut. Leider fangen die Schwierigkeiten mit zusammengesetzten Deklarationen erst richtig an. Erkennen Sie, welches die Typen von x und y sind?


Trotz der Variation in der Position des const gehören x und y demselben Typ an: pointer to const char. Ähnlich wie die Keywords long und unsigned im nachfolgenden Beispiel kann auch das Keyword const vor oder nach einem Typnamen erscheinen, ohne dass sich dadurch die Bedeutung der Deklaration ändern würde:


Betrachten Sie nun die folgende Const-Deklaration:


Der Typ von z ist hier: const pointer to non-const char. Woher weiß der Compiler, dass z ein Const-Pointer ist, x und y aber nicht?

Wie unterscheidet man zwischen Const-Pointers und Pointers-to-Const-Variablen?
Abhängig davon, ob das Keyword const vor oder nach dem Sternchen erscheint, handelt es sich um einen Const-Pointer oder eine Const-Variable. Die Abfolge „* const“ weist auf einen Const-Pointer hin; erscheint das const dagegen vor dem Sternchen, ist das an den Pointer gebundene Objekt eine Konstante.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu C++: Ein Keyword für drei Konstrukte

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *