Sobes.tech
Junior — Middle

Извършва ли се мигновено копиране на обекти от тип препратка при тяхното присвояване?

sobes.tech AI

Отговор от AI

В езици за програмиране с управление на паметта, като Swift или Objective-C, при присвояване на променлива от тип референция, се копира референцията, а не самият обект. Тоест, обектът не се копира мигновено, а и двете променливи започват да сочат към един и същи обект в паметта.

Например, в Swift:

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

let person1 = Person(name: "Alice")
let person2 = person1 // Копира се референцията, не обектът
person2.name = "Bob"
print(person1.name) // Ще изведе "Bob", тъй като person1 и person2 сочат към един и същи обект

Така, не се извършва мигновено копиране на обекта, а само копиране на референцията към него.