Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dx11

unregistriert

1

28.09.2011, 16:57

Vector Initialisierung. Was ist richtig?

Hallo
Ich habe nur eine kleine Frage: Was ist besser?
1: Vector3 vTest = Vector3(0,0,0);
oder
2. Vector3 vTest(0,0,0);
Danke

2

28.09.2011, 17:01

Natürlich ist das 2. besser, da beim 1. unnötigerweise ein Objekt zu viel erzeugt wird.

3

28.09.2011, 17:01

Ansich ist das 2te besser, da es kürzer ist. Prinzipiell wird bei 1. ein temporärer Vektor erzeugt und dann kopiert, ein guter Compiler kann es aber vielleicht auch wegoptimieren, so dass das Ergebnis exakt das selbe wie bei 2. ist, aber das müsste man wohl überprüfen.

-> Beides richtig, 2 ist besser.
Lieber dumm fragen, als dumm bleiben!

4

28.09.2011, 17:09

[...] ein guter Compiler kann es aber vielleicht auch wegoptimieren, so dass das Ergebnis exakt das selbe wie bei 2. ist, aber das müsste man wohl überprüfen. [...]
Ich bin mir sicher, dass das so gut wie alle bekannten Compiler können, jedoch geht es aber nunmal nicht um den Compiler, sondern um die Sprache C++ ;)

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

28.09.2011, 17:20

[...] ein guter Compiler kann es aber vielleicht auch wegoptimieren, so dass das Ergebnis exakt das selbe wie bei 2. ist, aber das müsste man wohl überprüfen. [...]
Ich bin mir sicher, dass das so gut wie alle bekannten Compiler können, jedoch geht es aber nunmal nicht um den Compiler, sondern um die Sprache C++ ;)

Klingt ein klein wenig arrogant.
Ich glaube er ist sich bewusst, dass es um C++ geht und meinte auch sicherlich Compiler für eben diese Sprache.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

28.09.2011, 17:30

[...] ein guter Compiler kann es aber vielleicht auch wegoptimieren, so dass das Ergebnis exakt das selbe wie bei 2. ist, aber das müsste man wohl überprüfen. [...]
Ich bin mir sicher, dass das so gut wie alle bekannten Compiler können, jedoch geht es aber nunmal nicht um den Compiler, sondern um die Sprache C++ ;)

Klingt ein klein wenig arrogant.
Ich glaube er ist sich bewusst, dass es um C++ geht und meinte auch sicherlich Compiler für eben diese Sprache.

Und ich denke GreenPepper redet mehr über den Unterschied zwischen "Implementierung" (Compiler) und "Semantik" (C++), bzw. um die "Schönheit" der jeweiligen sprachlichen Konstrukte und nicht das kompilierte Ergebnis. Persönlich gefallen tut mir nämlich das erste (liegt an viel zu viel C# und Java). Optimaler finde ich das zweite.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

7

28.09.2011, 17:49

Und ich denke GreenPepper redet mehr über den Unterschied zwischen "Implementierung" (Compiler) und "Semantik" (C++), bzw. um die "Schönheit" der jeweiligen sprachlichen Konstrukte und nicht das kompilierte Ergebnis.
Jep, das habe ich eigl. gemeint. Tut mir leid, wenn's falsch "rüberkam" ;)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

28.09.2011, 18:25

Beides gleichgut. Ich verwend normalerweise Variante 1.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

9

28.09.2011, 18:38

Bei mir wie bei BlueCobold. Durch C# und Java daran gewöhnt. Und wie gesagt jeder vernünftige Compiler sollte das optimieren. Von daher verwende das, was dir besser gefällt. Der Code muss ja dir "gefallen" bzw für dich übersichtlich und nachvollziehbar sein.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige