Qu'est-ce que le “atome” type de données?

J'ai rencontré le ATOM type dans le Win32api et aussi dans le Acrobat API il est ASAtom.

Aussi loin que je peux dire, les atomes sont les clés pour une table de hachage généralement des chaînes et à en accélérer le regarder et de partager des données entre les applications. Est-ce correct et ce qui est de l'étymologie du type d'atome?

MODIFIER

Après quelques poussées de la recherche, j'ai remarqué Prologue utilise des atomes, donc il doit y avoir une origine à ce mot. Il semble qu'il a utilisé pour se référer à un seul élément de données.

  • Oui, il y a une origine à la parole. Il vient du mot grec ἄτομος (atomos), qui signifie "indivisible". (langue dans la joue...)
  • Je pense que X11 avait l'Atome concept trop - pour autoriser le client app pour stocker un élément de données dans le serveur X.
  • Qui a aidé beaucoup, ça expliquerait pourquoi un ATOM est défini comme typedef WORD ATOM parce qu'un mot est l'unité adressable par le CPU (c'est à dire non divisible).
  • Haha oui... sauf qu'il devrait probablement être plutôt une plus grande type comme UINT_PTR, depuis les Processeurs de nos jours l'adresse 32 bits et 64 bits des morceaux. 🙂
  • Sur Windows il est défini comme unsigned short (probablement parce qu'elle émanait de la 16-bits de windows, mais Acrobat API définit comme unsigned long.
  • Ce n'est pas une table de hachage, il s'agit d'un dictionnaire. L'atome est la clé, un simple nombre entier afin de les aider à composer avec des données de longueur variable.
  • Êtes-vous sûr? Citation du lien MSDN dans ma question: Atom tables are implemented as hash tables.
  • Ne sont pas les tables de hashage juste une sorte de dictionnaires/maps? Je ne comprends pas ce que tu veux dire...
  • Erlang a des atomes ainsi: erlang.org/doc/reference_manual/data_types.html#id66276
  • semble très similaire à l'Objectif C "sélecteurs", qui sont en interaction avec par le biais de sel_registerName :: const char * -> SEL et sel_getName :: SEL -> const char *

InformationsquelleAutor Jesse Good | 2012-05-09