Question

Voir: Présentation des pointeurs

Dans de nombreuses langues à saveur C, et certaines anciennes, comme le Fortran, on peut utiliser des pointeurs .

En tant que spécialiste des programmes de base, javascript et actionscript, pouvez-vous m'expliquer ce qu'est un pointeur et en quoi il est le plus utile?

Merci!

Était-ce utile?

La solution

Les pointeurs ne sont pas aussi difficiles qu'ils le paraissent. Comme d’autres l’ont déjà dit, ce sont des variables qui contiennent l’adresse d’une autre variable. Supposons que je veuille vous indiquer comment vous rendre chez moi. Je ne vous donnerais pas une photo de ma maison ou une maquette de ma maison; Je voudrais juste vous donner l'adresse. Vous pouvez en déduire tout ce dont vous avez besoin.

De la même manière, beaucoup de langages font la distinction entre le passage par valeur et le passage par référence. Essentiellement, cela signifie-t-il que je vais faire passer un objet entier chaque fois que je dois y faire référence? Ou vais-je simplement donner son adresse pour que les autres puissent en déduire ce dont ils ont besoin?

La plupart des langues modernes cachent cette complexité en déterminant quand les pointeurs sont utiles et en l’optimisant pour vous. Toutefois, si vous savez ce que vous faites, la gestion manuelle des pointeurs peut toujours être utile dans certaines situations.

Autres conseils

Cet article de la wikipedia vous donnera des informations détaillées sur ce qu'est un pointeur:

  

En informatique, un pointeur est un type de données de langage de programmation dont la valeur se réfère directement à (ou "pointe sur") une autre valeur stockée ailleurs dans la mémoire de l'ordinateur en utilisant son adresse. L'obtention ou la demande de la valeur à laquelle se réfère un pointeur s'appelle déréférencer le pointeur. Un pointeur est une implémentation simple du type de données de référence générale (bien qu'il soit assez différent de la fonctionnalité appelée référence en C ++). Les pointeurs vers les données améliorent les performances pour les opérations répétitives telles que la traversée de structures de chaîne et d'arborescence. Les pointeurs vers les fonctions sont utilisés pour les méthodes de liaison dans la programmation orientée objet et la liaison d'exécution aux bibliothèques de liens dynamiques (DLL).

Un pointeur est une variable qui contient l'adresse d'une autre variable. Cela vous permet de référencer une autre variable indirectement. Par exemple, dans C:

// x is an integer variable
int x = 5;
// xpointer is a variable that references (points to) integer variables
int *xpointer;
// We store the address (& operator) of x into xpointer.
xpointer = &x;
// We use the dereferencing operator (*) to say that we want to work with
// the variable that xpointer references
*xpointer = 7;
if (5 == x) {
    // Not true
} else if (7 == x) {
    // True since we used xpointer to modify x
}

Plusieurs discussions ont eu lieu à ce sujet sur SO. Vous pouvez trouver des informations sur le sujet avec les liens ci-dessous. Il existe plusieurs autres discussions SO sur le sujet, mais je pense que celles-ci étaient les plus pertinentes. Recherchez "pointeurs [C ++]" dans la fenêtre de recherche (ou "pointeurs [c]") et vous obtiendrez également plus d'informations.

En C ++, je ne parviens pas à saisir les pointeurs et les classes

Quelle est la différence entre les 'références' modernes et des "pointeurs" traditionnels?

Comme quelqu'un l'a déjà mentionné, un pointeur est une variable qui contient l'adresse d'une autre variable.

Il est principalement utilisé lors de la création de nouveaux objets (au moment de l'exécution).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top