Flache/Tiefe Kopien < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:09 Mo 11.01.2010 | Autor: | Barbidi |
Aufgabe | Was ist eine Flache und eine Tiefe Kopie? |
Hallo Leutz,
Ich habe heute die schöne Aufgabe bekommen, die Frage zu beantworten was Flache bzw tiefe Kopien sind und dazu noch ein Beispiel geben.
Ich hab eine flache Kopie jetz so verstanden:
Bei einer Flachenkopie wird nur die Referenz kopiert und nicht der eigentlich Wert, dh auf 1ne Varibale zeigen 2 referenzen.
Tiefe Kopie:
Bei einer Tiefen Kopie wird Die referenz sowie die Variable kopiert, dh auf 2 Variablen zeigen 2 referenzen.
Kann da jmd noch was erweitern und mir vllt ein Beispiel für beide Geben. :)
danke schonmal :)
Grüße
|
|
|
|
Hallo Barbidi,
> Bei einer Tiefen Kopie wird Die referenz sowie die
> Variable kopiert, dh auf 2 Variablen zeigen 2 referenzen.
Die Referenz auf das alte Objekt wird nicht kopiert; Wozu auch? Vielmehr wird Speicherplatz für ein neues Objekt reserviert. Und die Referenz auf dieses neue Objekt unterscheidet sich selbstverständlich von der Referenz auf das alte Objekt. (Zumindest ist das so, solange das alte Objekt noch existiert, also Speicherplatz belegt.)
> Kann da jmd noch was erweitern und mir vllt ein Beispiel
> für beide Geben. :)
Hier mal ein Beispiel in Python für zwei Pythonlisten a und b:
[Dateianhang nicht öffentlich]
Viele Grüße
Karl
P.S. Für ein Beispiel in C++ kannst du dir z.B. diesen Artikel ansehen.
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|