« Introduction générale à la programmation/Pointeurs » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- l'utiliser + l’utiliser)
m Robot : Remplacement de texte automatisé (- d'un + d’un )
Ligne 13 :
Concrètement, chaque langage a sa propre définition de pointeurs, mais en programmation, un pointeur est une ''variable destinée à contenir une adresse''.
 
(Il est à noter qu'un pointeur peut contenir l'adresse d'und’un autre pointeur. Cela fait un pointeur de pointeur. Une tel besoin n'est pas extrêmement courant mais peut arriver. En particulier pour les tableaux multidimensionnels. ex: double**** vTableau; vTableau[x][y][z]= new double;)
 
{{Exemple|titre=L'homme qui a vu l'homme qui a vu l'ours
Ligne 47 :
 
DONC :
# Les pointeurs servent à éviter de saturer la pile avec un bloc de données trop important. Il vaut mieux créer un tableau de 10000 chaînes de caractères en tas(gestion par la mémoire virtuelle) que de le créer dans la pile avec tous les problèmes de gestion que cela implique (Surcharge, effondrement de la pile, buffer overflow, réécriture d'adresse de retour, etc ...). De plus avec les pointeurs multiples le contrôle sur les éléments d'und’un tableau multidimensionnel est beaucoup plus simple et aisé que sur un tableau monolithique en pile.
# L'utilisation de pointeurs est recommandé par le "Design Pattern" "FlyWheight" qui permet d'attribuer à un nombre conséquents d'objets un nombre limité de valeurs sans surcharger la mémoire avec toutes les valeurs possibles.
# Les pointeurs permettent de s'affranchir de la notion de méthode. (n entrées et une ou zéro sortie)