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

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

1

08.09.2012, 19:07

Funktionsparamter als const & ?

Ich habe schon oft gesehen, dass Parameter z.B. Strings oder so in Funktionen als const & übergeben werden. Als Beispiel nehme ich mal die Vector-Klasse von TriBase

C-/C++-Quelltext

1
 tbVector3(const tbVector3&); 


Genauso wird das auch bei den Operatoren und bei vielen anderen Sachen (z.B. bei der OGRE3D Engine oft) gehandhabt.

Das const versteh ich ja, da man den Wert nicht verändert sondern nur ihn haben will. Aber die Referenz verstehe ich nicht, was soll die für einen Sinn haben?
Man will ja nicht den Wer als Output behandeln.

Ich hoffe jmd kann mir da weiterhelfen.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

08.09.2012, 19:31

Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

08.09.2012, 19:34

Bei einem Copy Constructor is pass by value allerdings keine Option... ;)

birdfreeyahoo

Alter Hase

  • »birdfreeyahoo« ist der Autor dieses Themas

Beiträge: 756

Wohnort: Schorndorf

Beruf: Junior Software Engineer

  • Private Nachricht senden

5

08.09.2012, 20:58

Ja beim Kopierkonstruktor ist mir das schon klar, aber bei vielen anderen Sachen, wo der Parameter nur als Wert dient und dem Aufrufer nacher egal ist.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

08.09.2012, 21:01

Naja, da übergibt man oft eine Reference to const, um das Kopieren des Objektes zu vermeiden.

Werbeanzeige