Freigeben über


Initialisieren von Zeigern zu const Objekten

Ein Zeiger auf einen const-Objekt kann mit einem Zeiger nicht umgekehrt initialisiert werden in ein Objekt, das nicht constist, aber.Beispielsweise ist die folgende Initialisierung gültig:

Window StandardWindow;
const Window* pStandardWindow( &StandardWindow );

Im vorangehenden Code wird der Zeiger pStandardWindow als Zeiger auf einem const-Objekt deklariert.Obwohl StandardWindow nicht als constdeklariert wird, ist die Deklaration zulässig, da sie kein Objekt ermöglicht, die nicht als const Zugriff auf einen const-Objekt deklariert ist.Die Umkehrung dieses lautet wie folgt:

const Window StandardWindow;
Window* pStandardWindow( &StandardWindow );

Der vorhergehende Code explizit deklariert StandardWindow als const-Objekt.Das Initialisieren des Zeigers keine Konstante pStandardWindow mit der Adresse der StandardWindow generiert einen Fehler, da sie Zugriff auf den const-Objekt durch den Zeiger nicht zulässig.Das heißt, ermöglicht es dem Entfernen des const-Attributs des Objekts.

Siehe auch

Referenz

Initialisierer