UCSC – Verwendung von Typumwandlungen im C++-Stil

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu C++-Audits


Beschreibung

Das Audit überprüft Typumwandlungen im C-Stil, die vermieden werden sollten. Es gibt eine Reihe von für die C++-Sprache spezifische Umwandlungsoperatoren, die stattdessen verwendet werden sollten. Diese Operatoren entfernen einen Großteil der Mehrdeutigkeit und der Gefahren von Typumwandlungen im C-Stil. Diese Operatoren sind:

  • dynamic_cast – Für Konvertierungen von polymorphen Typen
  • static_cast – Für Konvertierungen von nicht-polymorphen Typen
  • const_cast – Zum Entfernen der Attribute const und volatile
  • reinterpret_cast – Für einfache Neuinterpretationen von Bits

Verwenden Sie die hier aufgeführten C++-Operatoren anstatt der Typumwandlung im C-Stil. Vermeiden Sie jedoch, falls möglich, die Verwendung von const_cast und reinterpret_cast. Diese Operatoren bergen dieselben Gefahren wie Typumwandlungen im C-Stil, aber sie sind weiterhin für die vollständige Ersetzung von Typumwandlungen im C-Stil notwendig.

Falsch:

 return (Cat*)myAnimalPtr;

Richtig:

 return dynamic_cast<Cat*>(myAnimalPtr);

Siehe auch