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.