Junior
Qu'est-ce que les types de référence?
sobes.tech IA
Réponse de l'IA
Les types de référence (Reference Types) sont des types de données qui, lors de leur attribution ou passage à une fonction, transmettent une référence à l'instance de l'objet en mémoire, et non une copie de celui-ci.
Caractéristiques clés :
- Plusieurs variables peuvent faire référence à la même instance d'un objet.
- La modification de l'état de l'objet via une référence se reflète dans toutes les autres références à ce même objet.
- La gestion des types de référence se fait via des pointeurs vers des objets dans le tas (heap).
Exemples de types de référence en Swift :
- Classes (
class) - Fonctions (
func) - Closures (
{...})
Comparaison avec les types de valeur (Value Types) :
| Caractéristique | Type de référence (Reference Type) | Type de valeur (Value Type) |
|---|---|---|
| Ce qui est transmis | Référence (adresse en mémoire) | Copie de la valeur |
| Lieu de stockage | Tas (Heap) | Pile (Stack) |
| Copie | La référence est copiée | La valeur est copiée |
| Modification | Affecte l'objet original | Affecte la copie |
class MyClass {
var value: Int
init(value: Int) {
self.value = value
}
}
var object1 = MyClass(value: 10) // Création d'une instance de classe
var object2 = object1 // object2 référence maintenant la même instance que object1
print(object1.value) // Affiche : 10
print(object2.value) // Affiche : 10
object2.value = 20 // Modification via object2
print(object1.value) // Affiche : 20 (la modification via object2 a affecté object1)
print(object2.value) // Affiche : 20
La gestion de la mémoire pour les types de référence en Swift est effectuée à l'aide du comptage automatique de référence (ARC).