On m'a dit qu'un handle est en quelque sorte un pointeur, mais non, et qu'il permet de conserver une référence à un objet, plutôt que l'objet lui-même. Quelle est l'explication la plus élaborée ?
Un Handle peut être utile pour sauvegarder des états (entre autres). Si vous avez des données dans une structure comme un std::vector. Votre objet peut se trouver à différents emplacements mémoire à différents moments de l'exécution d'un programme, ce qui signifie que votre pointeur vers cette mémoire changera de valeur. Avec un handle, il ne change jamais, il référence toujours votre objet. Imaginez que vous sauvegardiez l'état d'un programme (comme dans un jeu) - vous ne sauvegarderiez pas un emplacement de pointeur vers des données pour ensuite importer à nouveau les données et essayer d'obtenir cette adresse en mémoire. Vous pouvez cependant sauvegarder un Handle avec vos données, et importer les données et le Handle.
7 votes
fr.wikipedia.org/wiki/Handle_%28computing%29
2 votes
Si vous examinez le modèle de la chaîne de responsabilité, vous apprendrez qu'un "Handle" est essentiellement un nœud, et qu'un "Handler" est un petit ensemble de nœuds. La "magie" vient de la récursion