Rückgabewert mit new angelegt, wo loeschen?



  • Eldarion schrieb:

    Konrad Rudolph schrieb:

    Wieso eigentlich ne Zeiger-Referenzübergabe? Wenn man schon s 'nen Zeiger nimmt, kann man ihn auch per 'return' zurückgeben. Besser wird's dadurch natürlich auch nicht …

    soll das heißen wenn man pointer returnt das das schlechter stil ist? ich finde es eig. nen gutes hilfsmittel um platz auf dem heap zusparen. was macht es für nen sinn nen riesiges objekt zu returnen? mann kann auch einfach nen pointer darauf returnen.

    ich finds schöner den benutzer das objekt selbst erstellen und übergeben zu lassen und referenzen zu verwenden, wenns um komplexe objekte geht.

    void myfunc(Userobject &o);
    
    // statt
    
    Userobject* myfunc();
    


  • Eldarion schrieb:

    ...
    soll das heißen wenn man pointer returnt das das schlechter stil ist? ...

    Ich denke, "verteilte Zuständigkeiten" machen oft eine Menge Probleme und dazu gehören auch (und gerade) die Trennung von "Erzeuger" und "Löscher". ("... Der Herr hat's gegeben, der Herr hat's genommen ..." 😉 )

    Gruß,

    Simon2.



  • danke für eure Bemühungen!

    Ich denke ich weiss nun was zu tun ist

    muli


Anmelden zum Antworten