Ich habe diesen Fall:
%Vor% Wenn T classA
ist, ist das Casting ein Muss. Im Fall von T ist classB
das Casting ist überflüssig.
Wird der zweite Casting standardmäßig fallengelassen (kein ausführbarer Code mehr), da dies nicht notwendig ist?
Aus dem C ++ 11 Standard:
5.2.9 Statischer Cast
1 Das Ergebnis des Ausdrucks
static_cast<T>(v)
ist das Ergebnis der Konvertierung des Ausdrucksv
in den TypT
.
Wenn der Typ von v
gleich T
ist, ist die Konvertierung einfach, wenn T
keine Klasse ist. Ein vernünftiger Compiler sollte keinen ausführbaren Code für solche Verwendungen von static_cast
generieren.
Tags und Links c++ c++11 static-cast