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

Anonymous

unregistriert

1

05.09.2003, 17:05

void func (const Type &Var)

Ist es besser, wenn ist aus jeder

Quellcode

1
void func (Type Var)

eine

Quellcode

1
void funk (const Type &Var)

mache?

2

05.09.2003, 19:14

Kommt immer darauf an was du machen willst. Wenn du Var in der Funktion verendern willst sollteste auf const verzichten, ansonsten ist const immer ein Anhaltspunkt für den Compiler um den Code zu Optimieren.

Eine Referenz brauch man immer nur dann benutzen wenn man z.B. einen Typ benutzt der größer als 4 Byte ist, oder wenn der Wert halt verendert werden soll.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Anonymous

unregistriert

3

05.09.2003, 20:14

Aber die Referenz verhindert doch gerade das Kopieren einer Variablen und sollte doch gerade deshalb Zeit sparen.

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

4

05.09.2003, 20:59

laut Meyers sollte man mit const nie sparen. Auch net bei Parametern.

5

05.09.2003, 22:57

Zitat von »"Gast"«

Aber die Referenz verhindert doch gerade das Kopieren einer Variablen und sollte doch gerade deshalb Zeit sparen.

??? Ist das jetzt auf meine Antwort bezogen?

Bei einer Referenz wird die Adresse der Variable direkt übergeben und damit wird natürlich ein Aufruf des Kopierkonstruktors verhindert wird, wenn man Klassen oder Strukturen verwendet.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Anonymous

unregistriert

6

06.09.2003, 10:15

Ja, aber du meintest

Zitat


Eine Referenz brauch man immer nur dann benutzen wenn man z.B. einen Typ benutzt der größer als 4 Byte ist, oder wenn der Wert halt verendert werden soll.

7

08.09.2003, 00:23

Ja das ist ja auch richtig. Z.B. diese Funktion

Quellcode

1
2
3
4
void Set(const char c)
{
  ...
}
Es macht hier einfach keinen Sinn eine Referenz zu benutzen, da der Typ nur 1Byte groß ist. Man kann natürlich auch hier eine Referenz verwenden. Allerdings sieht das bei so einer Funktion schon anders aus

Quellcode

1
2
3
4
void Set(const Vertex& v)
{
  ...
}
Die Vertex Struktur ist auf jeden fall größer als 4Byte. Hier ist die Referenz Sinnvoll da man hier den Kopiervorgang auf den Stack auf 4Byte begrenzt.
Bei einer Get Funktion ist die Referenz sowieso Sinnvoll. Schließlich will man ja einen Wert geliefert bekommen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige