Mal &, mal *



  • Seikilos schrieb:

    ...
    Bei Devils code müsste die Signatur ein int **arr nehmen, richtig?...

    Oder einfach ein int*& arr....

    Dies ist eben ein Beispiel, wo das fachliche Objekt wirklich der Pointer ist - schließlich geht es hier um Speicherverwaltung (im Prinzip ist es sogar egal, auf welche Objekte hier gezeigt wird), weswegen ich das durchaus als "call-by-value" bezeichen würde.
    Die C++-Syntax ist hier in dieser Richtung nicht eindeutig (bei Pointern) - anders herum aber schon:
    "Signatur einer Funktion, die einen optionalen Verweis (call-by-reference) auf ein int entgegennimmt" : void f(int*);
    "Signatur einer Funktion, die einen int-Pointer (call-by-value) entgegennimmt" : void f(int*);
    😃

    Gruß,

    Simon2.



  • Simon2 schrieb:

    Die C++-Syntax ist hier in dieser Richtung nicht eindeutig (bei Pointern) - anders herum aber schon:
    "Signatur einer Funktion, die einen optionalen Verweis (call-by-reference) auf ein int entgegennimmt" : void f(int*);
    "Signatur einer Funktion, die einen int-Pointer (call-by-value) entgegennimmt" : void f(int*);
    😃

    ...ööh



  • Seikilos schrieb:

    ...
    ...ööh

    Probleme ?
    so ist das eben mit "nicht-bijektiven Abbildungen": Zwei unterschiedliche Ausgangspunkte werden auf dasselbe Ergebnis abgebildet...
    Aber tröste Dich: Es gibt auch eindeutige Zuordnungen:
    "Signatur einer Funktion, die einen verpflichtenden Verweis (call-by-ref) auf ein int entgegennimmt: void f(int&);"
    "Signatur einer Funktion, die ein int (call-by-val) entgegennimmt: void f(int);"

    Gruß,

    Simon2.


Anmelden zum Antworten