Sobes.tech
Junior — Middle

Wordt er een directe kopie gemaakt van referentietype-objecten bij toewijzing?

sobes.tech AI

Antwoord van AI

In programmeertalen met geheugenbeheer, zoals Swift of Objective-C, wordt bij het toewijzen van een referentietype variabele de referentie gekopieerd, niet het object zelf. Dat betekent dat het object niet onmiddellijk wordt gekopieerd, maar dat beide variabelen naar hetzelfde object in het geheugen verwijzen.

Bijvoorbeeld, in Swift:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let person1 = Person(name: "Alice")
let person2 = person1 // De referentie wordt gekopieerd, niet het object
person2.name = "Bob"
print(person1.name) // Toont "Bob", omdat person1 en person2 naar hetzelfde object verwijzen

Dus, er vindt geen onmiddellijke kopie van het object plaats, alleen de referentie ernaar wordt gekopieerd.