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