Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
674 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [STL] hash_map... Comment ça fonctionne ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[STL] hash_map... Comment ça fonctionne ?

n°1220675
djar
Posté le 11-10-2005 à 19:01:01  profilanswer
 

Salut à tous ! J'ai besoin d'utiliser les hash_map, mais hélas je suis vraiment novice là dedans...
Je voudrais faire un truc du style:
 
class Personne {
hash_map <int, string> _attributsPersonne;
[...]
}
 
void fonction() {
_attributsPersonne[crc32("nom" )] = "djardjar";
_attributsPersonne[crc32("prenom" )] = "beans";
}
 
J'ai donc créé une fonction de hachage crc32, mais hélas, le compilateur n'accepte pas la définition de hash_map.
Message d'erreur:
personne.h ISO C++ forbids declaration of `hash_map' with no type  
personne.h expected `;' before '<' token  
 
J'ai essayé avec les typename, mais ça fonctionne pas non plus (pas de classe template).
 
J'ai déjà lu les anciens sujets à ce propos, mais soit je n'y comprend rien, soit y'a pas ce que je veux...
 
Aidez moi SVP .... :) !

mood
Publicité
Posté le 11-10-2005 à 19:01:01  profilanswer
 

n°1220713
djar
Posté le 11-10-2005 à 19:47:07  profilanswer
 

C'est bon ! J'ai trouvé ! Ca fonctionnait pas à cause du namespace !
Sur certains compilateurs, il faut utiliser using namespace __gnu_cxx; et <ext/hash_map>
 
voici le code pour détécter:
 
#ifdef __GNUC__
        #if __GNUC__ < 3
                #include <hash_map.h>
        #else
                #include <ext/hash_map>
                #if __GNUC_MINOR__ == 0
                        using namespace std;               // Pour GCC 3.0
                #else
                        using namespace __gnu_cxx;       // Pour GCC 3.1 et plus
                #endif
        #endif
#else      // Pour les autres compilateurs.
        using namespace std;
#endif
 
 
C'est bien, je m'aide tout seul !


Message édité par djar le 11-10-2005 à 19:50:12
n°1220716
el muchach​o
Comfortably Numb
Posté le 11-10-2005 à 19:49:34  profilanswer
 

Il y a ici un exemple d'utilisation de l'implémentation Gnu avec un fonction de hachage sophitiquée.  
http://forum.hardware.fr/hardwaref [...] 0175-2.htm
D'autres implémentations sont plus simples car elles ne nécessitent pas de préciser la fonction de hachage.
Attention à la consommation mémoire des gros hash_map.


Message édité par el muchacho le 11-10-2005 à 19:53:54

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1220718
Taz
bisounours-codeur
Posté le 11-10-2005 à 19:50:44  profilanswer
 

utlise plutôt std::tr1::unordered_map<> présente dans gcc4

n°1220719
el muchach​o
Comfortably Numb
Posté le 11-10-2005 à 19:51:10  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [STL] hash_map... Comment ça fonctionne ?

 

Sujets relatifs
pourquoi ce positionnement en absolut ne fonctionne pas sous FirefoxLe méme mais qui ne fonctionne pas... lol
Fonctionne sous l'interface de développement, l'exécutable plante ?Requete qui fonctionne qu'a motie
passage d'une hash en paramètre à une autre scriptPourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??
Pourquoi URLConnection fonctionne sur un computer, pas sur l’autre ??Pourquoi URLConnection fonctionne sur un pc, pas sur l’autre ??
Failed to find method for hashBase qui reste vide mais le script fonctionne
Plus de sujets relatifs à : [STL] hash_map... Comment ça fonctionne ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR