Junior — Middle
Se realizează o copie instantanee a obiectelor de tip referință la atribuirea acestora?
sobes.tech AI
Răspuns de la AI
În limbajele de programare cu gestionare a memoriei, cum ar fi Swift sau Objective-C, atunci când se atribuie o variabilă de tip referință, se copiază referința, nu obiectul în sine. Adică, obiectul nu este copiat instantaneu, ci ambele variabile încep să indice același obiect în memorie.
De exemplu, în Swift:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Alice")
let person2 = person1 // Se copiază referința, nu obiectul
person2.name = "Bob"
print(person1.name) // Va afișa "Bob", deoarece person1 și person2 indică același obiect
Prin urmare, nu are loc o copiere instantanee a obiectului, ci doar se copiază referința către el.