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

tnecniv

Treue Seele

  • »tnecniv« ist der Autor dieses Themas

Beiträge: 164

Wohnort: BERLIN

  • Private Nachricht senden

1

17.03.2005, 17:05

Parameter

Hi!
Ich wollt mal fragen ob es einen unterschied macht ob ich meiner funktion ganz viele "große" Parameter übergebe oder nur ganz wenige "kleine"??? Ich mein jetzt performance(?) technisch!
bis dann
Sagt der igel zu dem dachs:
willst du größer sein, dann wachs!
- alte Fritz weisheit

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

17.03.2005, 18:19

ja, macht es

3

18.03.2005, 11:47

irgendwie klingt deine frage verdreht.
wolltest du sagen, wenige große statt viele kleine
oder meinst du's so wies da steht?

tnecniv

Treue Seele

  • »tnecniv« ist der Autor dieses Themas

Beiträge: 164

Wohnort: BERLIN

  • Private Nachricht senden

4

18.03.2005, 15:37

Naja, eigentlich meinte ich es schon so wie ich es geschrieben habe! Es geht mir eigentlich nur darum, ob es ÜBERHAUPT einen unterschied macht was für parameter man übergibt! obwohl deine variante auch interessant wäre! :P
@dot Aha, sehr informativ! :wirbel: trotzdem danke!! bis dann
Sagt der igel zu dem dachs:
willst du größer sein, dann wachs!
- alte Fritz weisheit

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

18.03.2005, 16:06

also ok ;)

ja, je mehr parameter, desto größer wird der stack (hängt natürlich von der größe der parameter ab)...

ob sich das direkt auf die speed auswirkt is fraglich, je größer die parameter, desto mehr daten sind zu kopieren.
ich würd mal sagen, vermutlich wirkt es sich auf die speed aus, aber es is sicherlich nicht wirklich signifikant ob du jetzt 3 oder 5 parameter hast.

helium

Treue Seele

Beiträge: 180

Wohnort: NRW, Burscheid (nahe Köln)

  • Private Nachricht senden

6

18.03.2005, 16:20

Große Obejkte übergibt man als konstante Referenz. Dadurch sind sie dann auch klein.
Why is 6 afraid of 7?
Because 7 8 9

Till

Alter Hase

Beiträge: 378

Wohnort: Lincoln College, Oxford

Beruf: Student

  • Private Nachricht senden

7

19.03.2005, 11:02

Zitat von »"helium"«

Große Obejkte übergibt man als konstante Referenz. Dadurch sind sie dann auch klein.


Diese neumodischen C++'ler ... früher, da war alles besser, da hat man das noch mit Zeigern gemacht ... ;p (und die, die von C umgestiegen sind, machen das heute komischerweise immer noch lieber als mit Referenzen)

Naja, ich habe gehört, es sei besser mit konst. Referenzen, aber warum eigentlich? Sind das intern nicht auch Zeiger? Ich meine jetzt, unabhängig von Typsicherheit und Design und so, sind Referenzen besser in der Performance?
DOMINVS ILLVMINATIO MEA
---
Es lebe unmanaged Code!
---
>> Meine Uni <<

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

19.03.2005, 12:45

Ich kann nur vermuten, aber Zeiger muss man ja immer auflösen wobei bei ref ja die variable direkt genutzt wird, wie wenn sie in der funktion erstellt wurde.(dies ist eine These und keine bestättigte Aussage)

weigo

Treue Seele

Beiträge: 234

Wohnort: Deutschland

  • Private Nachricht senden

9

19.03.2005, 15:02

Ich glaube, dass es keinen großen Unterschied macht, ob man nur einen Parameter als Referenz oder als Zeiger übergibt. Zumindest in der Performance. Wichtig ist ja nur, dass man Objekte nicht kopiert. Das gleiche gilt übrigens auch für Rückgabewerte, außer wenn man diese vorher als lokale Variable erzeugt hat, dann muss man wohl oder übel eine Kopie übergeben.
Eine Sache, die ich mir Vorstellen könnte, ist dass eine ungültige Referenz keine Probleme macht, aber ein ungültiger Pointer kann übel sein. Zum Beispiel Speicherüberschreibungen oder Zugriffsfehler.
Ich arbeite i.d.R. auch mit konstanten Referenzen bei großen Objekten wie z.B. std::string oder eigenen Klassen.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

19.03.2005, 23:08

naja, was mir im (bei mir eher seltenen) umgang mit referenzen als ein wenig unpraktisch aufgefallen is, ist, dass es keine möglichkeit gibt, eine referenz quasi auf nichts zurückzugeben (so wie z.b. einen 0 zeiger beim fehlschlag einer aktion), was natürlich in der natur von c++ referenzen liegt...

wie gesagt, ich fands in manchen fällen unpraktisch.

Werbeanzeige