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.


Anmelden zum Antworten