const_cast (Typumwandlungsoperator)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

C++-spezifische Schlüsselwörter

Syntax

const_cast< T > (arg)

Beschreibung

Der Operator const_cast dient dazu, die Modifizierer const und volatile von einem Typ zu "entfernen".

In dem Ausdruck const_cast< T > (arg) müssen T und arg vom gleichen Typ sein und dürfen sich höchstens durch die Modifizierer const und volatile unterscheiden. Die Typumwandlung findet beim Compilieren statt. Das Ergebnis hat den Typ T. Mit einem einzigen const_cast-Ausdruck können beliebig viele const- oder volatile-Modifizierer hinzugefügt oder entfernt werden.

Ein Zeiger auf einen const-Typ kann in einen Zeiger auf einen nicht-const-Typ umgewandelt werden, wobei letzterer in jeder anderen Hinsicht mit dem ursprünglichen identisch ist. Wenn die Umwandlung durchgeführt werden kann, zeigt der sich dabei ergebende Zeiger auf das ursprüngliche Objekt.

Aus einem Objekt const oder einer Referenz auf ein Objekt const wird ein nicht-const-Objekt bzw. eine nicht-const-Referenz.

Der Operator const_cast bewirkt eine ähnliche Typumwandlung auch in Bezug auf den Modifizierer volatile. Ein Zeiger auf ein Objekt volatile kann in einen Zeiger auf ein nicht-volatile-Objekt umgewandelt werden, ohne den Typ des Objekts in anderer Weise zu verändern. Das Ergebnis ist ein Zeiger auf das ursprüngliche Objekt. Aus einem Objekt volatile oder einer Referenz auf ein Objekt volatile kann ein ansonsten identisches nicht-volatile-Objekt bzw. eine ansonsten identische nicht-volatile-Referenz gemacht werden.

Siehe auch