Sobes.tech
Junior

Wat slaat de variabele precies op wanneer we een object van het type value maken?

sobes.tech AI

Antwoord van AI

Wanneer we een waarde-type object (structuur, enum, tuple in Swift) maken, slaat de variabele een kopie van de gegevens van dat object direct in het geheugen op. Toewijzing of het doorgeven van zo'n object als parameter leidt tot een kopie van de inhoud.

Voorbeelden:

struct Point {
    var x: Int
    var y: Int
}

var p1 = Point(x: 1, y: 2) // De variabele p1 slaat een kopie van de gegevens op (x=1, y=2)
var p2 = p1              // p2 krijgt een kopie van de gegevens van p1. Het zijn onafhankelijke kopieën.

p1.x = 10                // Alleen p1.x wordt gewijzigd
print(p2.x)              // Zal 1 afdrukken, omdat p2 niet is veranderd

Vergelijking met referentietype (klasse):

Kenmerk Waarde Type (structuur, enum) Referentie Type (klasse)
Wat wordt opgeslagen in de variabele Kopie van het objectgegevens Verwijzing naar het object in geheugen
Toewijzing / Doorgeven Kopie van de gegevens Kopie van de verwijzing (wijst naar hetzelfde object)
Wijziging Beïnvloedt alleen de huidige kopie Beïnvloedt het object waarnaar de verwijzing wijst (kan andere variabelen beïnvloeden die naar hetzelfde object verwijzen)