Was ist schneller?
-
Hi, macht es Geschwindigkeitsmäßig etwas aus, ob ich z.B. für ein Objekt "Rectangle"
Rectangle rectangle = Rectangle(1, 2, 3, 4);
oder
Rectangle rectangle(1, 2, 3, 4);
schreibe?
-
Sollte optimiert werden.
-
Wobei man aber (1) in C++ einfach nicht macht?!
MfG SideWinder
-
Na ja, 1 ist halt etwas redundant. Wenn man die = Syntax so mag dann doch bitte gleich
auto rectangle = Rectangle(1, 2, 3, 4);
-
Und ohne Optimierung?
-
Enumerator schrieb:
Und ohne Optimierung?
Selbst dann. Aber die Frage "Was ist schneller?" sollte man niemals stellen, wenn man nicht alle Optimierungen benutzt. Niemanden interessiert es, wie schnell oder langsam unoptimierter Code läuft.
Siehe:
https://ideone.com/cTiw5V
(ideone optimiert nicht)Es gibt jedoch einen Unterschied, dass bei
foo b= 6; foo c = foo(7);
jeweils der Kopierkonstruktor verfügbar sein muss. Siehe:
https://ideone.com/14oiz3
(beachte die Zeilen, in denen die Fehler sind!)Beobachte auch, dass der Zuweisungsoperator nirgendwo benutzt wird!
-
siehe auch hier: