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

* Webmaster Typo3 Amiens




Webmaster Typo3 Amiens





Article:

Dans le domaine de l’informatique, un pointeur intelligent (en anglais smart pointer) apparait 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 accordé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'expliquer 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 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 remplacer un programme pour qu'il puisse s'exécuter 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 employé ou le type de programme.
Le niveau de portabilité d'un programme se dégage 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 le site d'un informaticien indépendant qui peut et veut travailler à distance pour des entreprises partout en Europe.
Dans les métiers du web, la proximité n'est pas obligatoire, la nouvelle technologie ( vidéo conférence Skype, Whatsapp, etc... ) nous permet d'être virtuellement juste à coté et de se voir, bienvenue dans le monde du futur !
Et surtout votre site internet n'est pas près de vous mais sur un serveur virtuel distant, donc la proximité n'est pas importante.
Pour info, j'habite personnellement à Gaillard-Haute Savoie et mon bureau est juste à coté à Genève-Suisse.