Sobes.tech
Junior — Middle

Da li se prilikom dodeljivanja vrši trenutna kopija objekata tipa referenca?

sobes.tech АИ

Одговор од АИ

U jezicima programiranja s upravljanjem memorijom, kao što su Swift ili Objective-C, prilikom dodeljivanja promenljive referentnog tipa, kopira se referenca, a ne sam objekat. To znači da objekat nije odmah kopiran, već obe promenljive počinju da ukazuju na isti objekat u memoriji.

Na primer, u Swift-u:

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

let person1 = Person(name: "Alice")
let person2 = person1 // Kopira se referenca, ne objekat
person2.name = "Bob"
print(person1.name) // Ispisaće "Bob", jer person1 i person2 ukazuju na isti objekat

Dakle, ne dešava se trenutna kopija objekta, već se kopira samo referenca na njega.