Ich bin mir bewusst, dass die verschiedenen Guss Operatoren in C++ bereits hier diskutiert oft haben aber meine Frage ist speziell über zwischen numerischen Typen Gießen, nicht über die allgemeinen Unterschiede zwischen C-Stil und C++ Stiloperatoren. Ich halte dies für ein völlig anderes Thema als das Gießen innerhalb einer Klassenhierarchie.C++ Gießen zwischen numerischen Typen
sagen, ich will eine int i
zu einem Doppel werfen, einige der Optionen ich habe, sind
static_cast<double>(i)
(double) i
double(i)
Persönlich bevorzuge ich den Konstruktor-Stil in der 3. Zeile in diesem Fall, weil ich zum Ausdruck bringen, dass es sich hierbei nicht um eine Klasse von Gussklassen handelt, bei denen ich sicherlich static_cast
oder dynamic_cast
verwenden würde.
Abgesehen davon, dass es schwierig ist, diese Art von Cast bei der Suche in einem Texteditor zu finden, gibt es irgendwelche Nachteile meiner Wahl?
Was ist der Kontext? Warum musst du spielen? –
@Karoly Horvath: Gute Frage, ich versuche immer, Umwandlungen zu vermeiden, aber typische Fälle, in denen ich dies tue, sind innerhalb von Berechnungen oder beim Übergeben von Funktionsargumenten. –
"schwierig zu finden diese Art von Besetzung" ist ein Grund genug, es nie zu benutzen. –