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 сочат към един и същи обект
Така, не се извършва мигновено копиране на обекта, а само копиране на референцията към него.