Sobes.tech
Junior — Middle

A cópia instantânea de objetos de tipo referência ocorre ao atribuí-los?

sobes.tech IA

Resposta da IA

Em linguagens de programação com gestão de memória, como Swift ou Objective-C, ao atribuir uma variável de tipo de referência, copia-se a referência, não o próprio objeto. Ou seja, o objeto não é copiado instantaneamente, mas ambas as variáveis começam a apontar para o mesmo objeto na memória.

Por exemplo, em Swift:

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

let person1 = Person(name: "Alice")
let person2 = person1 // A referência é copiada, não o objeto
person2.name = "Bob"
print(person1.name) // Vai mostrar "Bob", pois person1 e person2 apontam para o mesmo objeto

Assim, não ocorre uma cópia instantânea do objeto, apenas a referência a ele.