WEB2007 ALSO SPEAKS ENGLISH
06 44 00 14 84 (ou 0033644001484)

* Agence Typo3 Angers




Agence Typo3 Angers





Article:

Dans le domaine de l'informatique, un pointeur intelligent (en anglais smart pointer) est perçu comme un type abstrait de données qui pontifie le comportement d'un pointeur en y adjoignant des fonctionnalités telles que la libération automatique de la mémoire acceptée ou la vérification des bornes.
La gestion manuelle de la mémoire dans les langages utilisant les pointeurs est une source courante de bugs, en particulier de fuites de mémoire ou de plantages. Les pointeurs intelligents baissent ce risque en rendant automatique la libération des ressources : quand le dernier pointeur vers un objet est détruit, par exemple parce qu'il sort de portée, l'objet pointé est détruit simultanément. Cela peut être adéquat par exemple avec le décompte de références. l'utilisation d'un ramasse-miette permet de se passer de pointeurs intelligents.
En C++, les pointeurs intelligents sont implémentés à l'aide de templates qui imitent le comportement des pointeurs grâce à la surcharge des opérateurs, tout en fournissant des algorithmes de gestion mémoire.
l'utilisation des pointeurs intelligents permet d'éclairer au programmeur comment manager les objets retournés par une fonction. Les unique_ptr forcent la propriété unique d'un objet en mémoire. Il est cependant possible de transférer cette propriété. Lorsque l'objet possédant l'unique_ptr devient hors de portée, l'objet pointé est également écroulé.
Les shared_ptr implémentent le comptage de références, ce qui suscite le partage l'objet pointé entre plusieurs objets sans se soucier de comment libérer sa mémoire. Lorsque le dernier objet possédant la référence est également détruit, l'objet pointé est également détruit.
Les weak_ptr ont les mêmes propriétés que les shared_ptr, sauf qu'en plus ils permettent de se racheter du ème des références circulaires
La portabilité est cernée comme la capacité pour un programme informatique à pouvoir être adapté plus ou moins facilement en vue de de fonctionner dans différents environnements d'exécution. Les différences peuvent porter sur l'environnement matériel (processeur) comme sur l'environnement logiciel (système d'exploitation). La différence d'environnement peut également porter sur une combinaison des deux éléments. C'est le cas par exemple dans les domaines de l'informatique embarquée, des super calculateurs ou des machines virtuelles.
l'action de troquer un programme pour qu'il puisse se faire sur un autre environnement est appelée portage.
La notion d'environnement d'exécution a trait à l'ensemble (physique ou logiciel) qui exécutera les instructions du programme. Cet environnement peut avoir différents aspects suivant le langage de programmation employé ou le type de programme.
Le niveau de portabilité d'un programme provient avec le plus petit dénominateur commun à plusieurs environnements. Ainsi, si une bibliothèque logicielle est disponible sur plusieurs environnements et que ce programme ne fait qu'utiliser cette dernière et non certaines fonctions spécifiques à un environnement particulier, on dit que ce programme est portable partout où cette bibliothèque est disponible.






****Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe