Sobes.tech
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)