Junior
Was genau speichert die Variable, wenn wir ein Objekt vom Typ value erstellen?
sobes.tech KI
Antwort von AI
Wenn wir ein Objekt vom Typ Wert (Struktur, Aufzählung, Tupel in Swift) erstellen, speichert die Variable eine Kopie der Daten dieses Objekts direkt im Speicher. Zuweisung oder Übergabe eines solchen Objekts als Parameter führt zu einer Kopie seines Inhalts.
Beispiele:
struct Point {
var x: Int
var y: Int
}
var p1 = Point(x: 1, y: 2) // Die Variable p1 speichert eine Kopie der Daten (x=1, y=2)
var p2 = p1 // p2 erhält eine Kopie der Daten von p1. Es sind unabhängige Kopien.
p1.x = 10 // Nur p1.x wird geändert
print(p2.x) // Gibt 1 aus, da p2 sich nicht geändert hat
Vergleich mit Referenztyp (Klasse):
| Merkmal | Werttyp (Struktur, Enum) | Referenztyp (Klasse) |
|---|---|---|
| Was in der Variable gespeichert wird | Kopie der Objektdaten | Referenz auf das Objekt im Speicher |
| Zuweisung / Übergabe | Kopie der Daten | Kopie der Referenz (zeigt auf dasselbe Objekt) |
| Änderung | Beeinflusst nur die aktuelle Kopie | Beeinflusst das Objekt, auf das die Referenz zeigt (kann andere Variablen beeinflussen, die auf dasselbe Objekt verweisen) |