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

* Agence Prestashop Angers




Agence Prestashop Angers





Article:

De son étymologie anglo-saxonne smart pointer, un pointeur intelligent est un type abstrait de données qui simule le comportement d'un pointeur en y joignant des fonctionnalités telles que la libération automatique de la mémoire donnée ou la vérification des bornes.
La gestion manuelle de la mémoire dans les langages usant les pointeurs est une source ordinaire de bugs, en particulier de fuites de mémoire ou de plantages. Les pointeurs intelligents diminuent 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émoli simultanément. Cela peut être implémenté 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 adaptés à l'aide de templates qui imitent le comportement des pointeurs grâce à la surcharge des opérateurs, tout en produisant des algorithmes de gestion mémoire.
l'utilisation des pointeurs intelligents permet d'exprimer au programmeur comment gérer les objets retournés par une fonction. Les unique_ptr aident 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 détruit.
Le comptage de références est implémenté par les shared_ptr, ce qui permet de partager l'objet pointé entre plusieurs objets sans se soucier de comment libérer sa mémoire. Lorsque le dernier objet ayant la référence est également détruit, l'objet pointé est également détruit.
Les weak_ptr et les shared_ptr sont identiques, sauf qu'en plus ils permettent de s'affranchir du ème des références circulaires
La portabilité détermine pour un programme informatique, sa capacité à pouvoir être adapté plus ou moins facilement en vue 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 se trouver sur une combinaison des deux éléments. Par exemple c'est le cas dans les domaines de l'informatique embarquée, des super calculateurs ou des machines virtuelles.
l'action de transformer un programme pour qu'il puisse se faire sur un autre environnement est appelée portage.
La notion d'environnement d'exécution désigne l'ensemble (physique ou logiciel) qui exécutera les instructions du programme. Cet environnement peut avoir différents aspects suivant le langage de programmation utilisé ou le type de programme.
Le niveau de portabilité d'un programme se mesure au fait qu'il utilise le plus petit dénominateur commun à plusieurs environnements. Ainsi, si une bibliothèque logicielle est libre sur plusieurs environnements et que ce programme ne fait qu'utiliser cette dernière et non certaines fonctions spécifiques à un environnement spécifique, 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