* Agence Joomla Rouen
***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe
Agence Joomla Rouen
Article:
l'usage des pointeurs est très bénéfique dans certains langages. Cette résistance (et surtout le fait que l'on touche instantanément à la mémoire sans aucun contrôle) couvre le développement d'une application. Si l'on ne fait pas attention et que l'on s'infiltre dans une zone mémoire qui ne nous est pas adjugée, le processeur via le système d'exploitation proliférera une erreur de segmentation qui suscitera une exception voire fera planter l'application. De plus, comme les allocations mémoire sont procédées en partie par le développeur, il doit également se charger de la libération de la mémoire lorsqu'il n'en a plus besoin, au risque de voir une fuite mémoire surgir. Tous ces inconvénients poussent le développeur à prendre en charge des choses supplémentaires, brouillant ainsi l'application et pouvant remonter des bugs. C'est pourquoi les pointeurs sont appréciés avec une certaine méfiance. 01 Informatique a jugé qu'ils sont « aussi puissants qu'ils sont dangereux »1, en expliquant les atouts du langage D. En effet, au vu des avantages et importunités des pointeurs, ce langage a été procréé pour en admettre l'usage aux programmeurs appréciant leur efficacité, tout en pourvoyant constamment des solutions alternatives à ceux qui s'en méfient. L'utilisation manifeste de pointeurs n'est pas confirmée par certains langages. La plupart des langages de programmation se servent du passage de paramètres par valeur. Typiquement, si n est un entier, alors l'appel de fonction f(n) ne pourra pas modifier n même si dans le code de la fonction, l'argument est incrémenté. La raison est que la valeur de la variable n est d'abord reproduite, si bien que la fonction f peut lire et écrire cette copie de la variable n, mais ne peut pas modifier la variable n originale. Avec l'aide des pointeurs, il devient plausible de passer en argument d'une fonction l'adresse d'une variable, et ainsi d'atteindre en lecture et en écriture à la variable originale, et ce dans le code de la fonction. Des langages de programmation sans pointeurs, à l'instar de Python, Java ou Javascript/Actionscript, les variables ou objets sont toujours passés par valeur, mais le passage aux champs de ces objets se fait par référence ou par adresse. Franchement, si o est un objet, alors f(o) ne pourra modifier o, mais pourra modifier (s'ils existent) les champs de o, par exemple s'il existe le champ o.taille de l'objet o original pourra être incrémenté dans le code de la fonction. De la sorte, en passant par référence / adresse les champs des objets, c'est-à-dire en spécifiant un objet comme étant une liste de références / pointeurs sur ses champs, il devient possible d'accommoder toutes les structures de données qui demandent des pointeurs tels que les arbres, les listes chaînées, etc...