Paramater als Referenz oder Zeiger
-
Hallo zusammen,
was ist euer Kriterium nach dem ihr euch für einen Zeiger oder
Referenz als Parameter entscheidet?
Zeiger, wenn auch 0 möglich, sonst Referenz oder habt ihr
andere Kriterien?Gruß,
Critio
-
dazu gabs vor einem jahr oder so mal einen thread, musst man nach suchen. Da wude sehr viel drüber diskutiert wenn ich mich richtig erinnere.
edit: ich fid ihn leider niht mehr... vielleicht zu lang her, aber der hier scheint auch nich so sclhecht zu sein:
http://c-plusplus.net/forum/viewtopic-var-t-is-168137-and-highlight-is-parameter+referenz.html
-
Merkregel: Zeiger nur verwenden, wenn es notwendig ist.
Darunter fällt unter anderem:
- Übergabe von C-Arrays an Funktionen
- Möglichkeit von NULL-Werten
-
CStoll schrieb:
Merkregel: Zeiger nur verwenden, wenn es notwendig ist.
Darunter fällt unter anderem:
- Übergabe von C-Arrays an Funktionen
Ich weiss, ich hänge mich ständig daran auf. Aber für echte Arrays geht's mit nem Template auch "by-reference"

-
LordJaxom schrieb:
CStoll schrieb:
Merkregel: Zeiger nur verwenden, wenn es notwendig ist.
Darunter fällt unter anderem:
- Übergabe von C-Arrays an Funktionen
Ich weiss, ich hänge mich ständig daran auf. Aber für echte Arrays geht's mit nem Template auch "by-reference"

OK, dann fällt das wohl doch unter Bequemlichkeit

Aber mir ging es dabei hauptsächlich darum, den Zeiger als Array-Iterator zu nutzen. (@Critio: Iteratoren sind eine Erweiterung des Zeiger-Konzepts für beliebige Containerklassen - also sehe ich umgekehrt einen Zeiger als Iterator für den Container C-Array)
-
LordJaxom schrieb:
CStoll schrieb:
Merkregel: Zeiger nur verwenden, wenn es notwendig ist.
Darunter fällt unter anderem:
- Übergabe von C-Arrays an Funktionen
Ich weiss, ich hänge mich ständig daran auf. Aber für echte Arrays geht's mit nem Template auch "by-reference"

Naja, damit beschränkt man sich aber auf statische(Stack)-Arrays. Das würde ich nicht unbedingt machen, sondern nur da, wo hinter dem "Fixed-Length-Array" tatsächlich ein eigenständiger Typ steckt....(und da besteht für mich die hohe Wahrscheinlichkeit, dass das Array selbst wieder in einem struct/class steckt, den man dann mittels Ref/Pointer übergibt)
Gruß,
Simon2.