Junior
Que signifie le transfert par copie?
sobes.tech IA
Réponse de l'IA
Lors du passage par copie (pass by value) à une fonction, une copie de la valeur de la variable est transmise, et non une référence à l'original. Les modifications apportées au paramètre à l'intérieur de la fonction n'affectent pas la variable d'origine en dehors de celle-ci.
Pour les structures et les énumérations en Swift, la transmission par copie est utilisée par défaut. Pour les classes, le passage par référence (pass by reference) est utilisé, mais dans ce cas, une copie de la référence elle-même est transmise, pas de l'objet.
Exemple en Swift:
// Structure Customer
struct Customer {
var name: String
}
// Fonction modifiant le paramètre de type Customer
func changeCustomerName(customer: Customer) {
var modifiedCustomer = customer // Une copie de la structure est créée
modifiedCustomer.name = "Jane"
print("À l'intérieur de la fonction: \(modifiedCustomer.name)") // Affiche: À l'intérieur de la fonction: Jane
}
var myCustomer = Customer(name: "John")
print("Avant la fonction: \(myCustomer.name)") // Affiche: Avant la fonction: John
changeCustomerName(customer: myCustomer)
print("Après la fonction: \(myCustomer.name)") // Affiche: Après la fonction: John - la valeur d'origine n'a pas changé
Point clé : la fonction travaille avec une copie locale des données.