Junior — Middle
Une copie instantanée des objets de type référence est-elle effectuée lors de leur attribution?
sobes.tech IA
Réponse de l'IA
Dans les langages de programmation avec gestion de mémoire, comme Swift ou Objective-C, lors de l'affectation d'une variable de type référence, la référence est copiée, pas l'objet lui-même. C'est-à-dire que l'objet n'est pas copié instantanément, mais les deux variables commencent à pointer vers le même objet en mémoire.
Par exemple, en Swift :
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Alice")
let person2 = person1 // La référence est copiée, pas l'objet
person2.name = "Bob"
print(person1.name) // Affichera "Bob", car person1 et person2 pointent vers le même objet
Ainsi, il n'y a pas de copie instantanée de l'objet, seule la référence y est copiée.