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

* Agence Drupal Angers




Agence Drupal Angers





Article:

En anglais smart pointer, un pointeur intelligent est sans doute un type abstrait de données qui ane le comportement d'un pointeur en y adjoignant des fonctionnalités telles que la libération automatique de la mémoire allouée ou la vérification des bornes.
Dans les langages utilisant les pointeurs, la gestion manuelle de la mémoire est une source courante de bugs, en particulier de fuites de mémoire ou de plantages. Les pointeurs intelligents simplifient 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 concurremment. Cela peut être implémenté par exemple avec le décompte de références. l'utilisation d'un ramasse-miette admet 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 procurant des algorithmes de gestion mémoire.
l'emploi des pointeurs intelligents permet de décrire au programmeur comment gérer les objets réintégré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 détruit.
Les shared_ptr prennent en compte le comptage de références, 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 possédant la référence est également détruit, l'objet pointé est également détruit.
Les weak_ptr présentent les mêmes propriétés que les shared_ptr, sauf qu'en plus ils s'intéressent au ème des références circulaires
Pour un programme informatique, la portabilité exprime sa capacité à 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 est visible sur une combinaison des deux éléments. Tel est le cas dans les domaines de l'informatique embarquée, des super calculateurs ou des machines virtuelles.
l'action de modifier un programme pour qu'il puisse s'exécuter sur un autre environnement est baptisée portage.
La notion d'environnement d'exécution définit l'ensemble (physique ou logiciel) qui accomplira 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 traduit par le fait qu'il se sert du plus petit dénominateur commun à plusieurs environnements. De ce fait, si une bibliothèque logicielle est présente sur plusieurs environnements et que ce programme ne fait qu'utiliser cette dernière et non certaines fonctions propres à un environnement particulier, on dit alors 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