Kopydestruktor



  • Original erstellt von devil81:
    **Das ist kein Scherz !!
    Hab jetzt gerade das Beispiel nicht zur hand,
    aber es gibt sehr voll sinnvolle anwendungen des Kopydestructors.

    Devil**

    Dann könnte man doch auch beide hintereinander deleten??? Ist doch im Prinzip nix anderes



  • Original erstellt von MaSTaH:
    Dann könnte man doch auch beide hintereinander deleten??? Ist doch im Prinzip nix anderes

    Nicht im Prinzip.
    So könnte man durch wiederholtes aufrufen des Kopykonstruktors eine
    Liste Rekursiv löschen...

    Devil



  • Das ist kein Scherz !!

    Ich meinte ja auch das von Marc++us. Bei dir kann ich das nicht beurteilen. 😃 😃

    lirpa.htm -> april.htm 🙄 😞



  • Original erstellt von devil81:
    Nicht im Prinzip.
    So könnte man durch wiederholtes aufrufen des Kopykonstruktors eine
    Liste Rekursiv löschen...
    Devil

    das geht aber doch bereits viel einfacher mit

    template<class T>
    struct List
    {
      T head;
      List<T> *tail;
    ...
      ~List()
      {
         delete tail;
      }
    }
    


  • Alles Mumpitz. 😡 🕶



  • Original erstellt von devil81:
    **Hab jetzt gerade das Beispiel nicht zur hand, aber es gibt sehr voll sinnvolle anwendungen des Kopydestructors.
    **

    dann nenn doch bitte eins.

    falls es sich um nen april scherz handelt: bitte nicht in den fachforen! danke!



  • Original erstellt von devil81:
    **Nicht im Prinzip.
    So könnte man durch wiederholtes aufrufen des Kopykonstruktors eine
    Liste Rekursiv löschen...

    Devil**

    Selbst dann bräuchte man keinen Copy-Destruktor... Dann wäre eine Linked-List einfacher zu handhaben... Außerdem wurde ja von dem Löschen einer exakt gleichen Kopie (wofür auch immer man die braucht) gesprochen...



  • Ausserdem würde man die Kopie doch sowieso mit dem Copykonstruktor erstellen. Dann merkt man sich einfach einen Pointer auf das aktuelle Objekt in dem ursprünglichen Objekt und löscht dieses im Destruktor des Ursprungsobjektes falls es gesetzt wurde und nicht 0 ist...

    [ Dieser Beitrag wurde am 01.04.2003 um 15:24 Uhr von MaSTaH editiert. ]



  • Original erstellt von MaSTaH:
    Außerdem wurde ja von dem Löschen einer exakt gleichen Kopie (wofür auch immer man die braucht) gesprochen...

    nee, das war meine erfindung. vor mir wurde vom löschen eines objekts des selben typs (oder gar basisklasse) gesprochen.



  • Original erstellt von Shade Of Mine:
    **dann nenn doch bitte eins.

    falls es sich um nen april scherz handelt: bitte nicht in den fachforen! danke!**

    Das Forum gehört wohl Marcus, da hat er doch zu entscheiden wo April-Scherze gemacht werden und wo nicht. Und wenn er selbst einen macht, dann ist das auch okay so. 🕶



  • Original erstellt von Shade Of Mine:
    falls es sich um nen april scherz handelt: bitte nicht in den fachforen!

    lol, wo denn sonst?



  • Nur damit keine Zweifel aufkommen.
    Der Kopydestruktor ist natürlich ein Aprilscherz gewesen...
    ...und natürlich kenne ich auch keine sinnvolle Anwendung dessen 😉
    Und übrigens die ganze Sache auf meinem Mist gewachsen, nach dem ich mich
    wieder mit Standard C++ und OOP beschäftige, trotzdem war die ergänzung von Marc++us
    perfekt, da sich der Kopydestructor nicht kompilieren lässt (zumindest nicht unter
    MSVC)
    wäre interesant zu wissen was der C++ Standard dazu sagt ;),
    aber seine Variante wohl durchgeht, ob wohl sie genauso wenig sinn macht... *g*

    naja, als Fazit bleibt
    Interessant waren die Antworten dennoch...

    Devil



  • Machen wir den Thread lieber zu, sonst bekommen wir heute noch mehr Antworten. 😉


Anmelden zum Antworten