Sie sind hier: Buchauszüge Typwandlungen  
 BUCHAUSZÜGE
Vorwort
Inhaltsverzeichnis
Einführung
Typwandlungen

VERGLEICH DER C UND C++ WANDLUNGSOPERATOREN
 
&&

Der C-Wandlungsoperator besitzt zwei große Nachteile:

qDie Notation erinnert zu stark an einen Funktionsaufruf. Beim Durchlesen von Code können Typwandlungen nicht sofort erkannt werden. In der Zeile

 

c = Colors( i_in );

 

     kann Colors sowohl eine Funktion als auch ein Typ sein – im zweiten Fall wird einen Typwandlung durchgeführt.

qEs kann nicht unterschieden werden, welche Wandlung gemeint ist. Eine Wandlung, die vielleicht nicht im Sinne des Programmie­rers lag, wird trotzdem durchgeführt.

Typwandlungen sind prinzipiell gefährlich und sollten deshalb auf Ausnahmefälle beschränkt bleiben. Typwandlungen sind außerdem eine Fehlerquelle erster Ordnung. Es ist daher wichtig, in einem Pro­gramm Typwandlungen schnell erkennen zu können. Dies ist für Wandlungen in C-Notation schwierig, da nicht einfach zwischen Wandlung und Funktionsaufruf unterschieden werden kann.

Der zweite Nachteil wiegt fast noch schwerer: Der C-Wandlungsope­rator wandelt alles, was irgendwie möglich ist. So kann es durchaus passieren, dass ein reinterpret_cast durchgeführt wird, obwohl der Programmierer nur einen (harmloseren) static_cast meinte. Werden die C++-Wandlungsoperatoren mit ihrer speziellen Funktio­nalität verwendet, können solche Fehler bereits bei der Übersetzung erkannt werden.

 




Explizite Typwandlungen | Benutzerdefinierte Wandlungen