Liste [VC++] - C - Programmation
Marsh Posté le 02-02-2006 à 17:21:39
| badre2911 a écrit : Est-il possible de faire des liste en C ou C++ du genre :  | 
 
[C] Non. 
Marsh Posté le 02-02-2006 à 18:50:01
ReplyMarsh Posté le 02-02-2006 à 19:01:02
| badre2911 a écrit : Merci, mais il n'y a pas plus simple que les hash_map ?? | 
 
Tables de chaines triées, recherche dichotomique... 
Marsh Posté le 02-02-2006 à 19:18:03
ReplyMarsh Posté le 02-02-2006 à 20:39:51
| Joel F a écrit : punaise hash_map c'est pas le drame o_O  | 
 
 
une doc sur hash_map ? laquelle ? Y a autant de hash_map que de compilateurs  __gnu_cxx::hash_map<>, ..., et même std::hash_map<> de m$
  __gnu_cxx::hash_map<>, ..., et même std::hash_map<> de m$   
  
lire une doc sur std::tr1::unordered_map<> a davantage de sens à mon avis, mais c'est peut-etre ce que tu voulais dire. 
 
Sinon, dans le cas ou il n'y a pas des milliers d'éléments, std::map<> doit pouvoir faire l'affaire.
Marsh Posté le 02-02-2006 à 20:47:43
stdext chez m1cr0sh1tzor lol depuis teh mighty multichity vs 2003, lol 
(lol) 
 
m'enfin utiliser hash_map quand on se fout de la portabilité, c'est quand meme pas de la haute volée (enfin c'est plus simple sous VisualShitio que sous llovefaismoilamourtoutnumonbognugcc)
Marsh Posté le 02-02-2006 à 21:08:46
| chrisbk a écrit : stdext chez m1cr0sh1tzor lol depuis teh mighty multichity vs 2003, lol  | 
 
t'es sur ? gdr disait que std::hash_map n'avait été décidé d'etre retiré par m$ que très récemment. 
 
| chrisbk a écrit : m'enfin utiliser hash_map quand on se fout de la portabilité, c'est quand meme pas de la haute volée (enfin c'est plus simple sous VisualShitio que sous llovefaismoilamourtoutnumonbognugcc) | 
 
 
 Yeah ![[:nico95] [:nico95]](https://forum-images.hardware.fr/images/perso/nico95.gif) 
 
Marsh Posté le 03-02-2006 à 08:07:00
| ++fab a écrit : une doc sur hash_map ? laquelle ? Y a autant de hash_map que de compilateurs  | 
 
 
c'est pas ça le problème   
 
Marsh Posté le 03-02-2006 à 08:15:43
| ++fab a écrit : t'es sur ? gdr disait que std::hash_map n'avait été décidé d'etre retiré par m$ que très récemment.  | 
 
 
sur sur, depuis VS2003 pour cause de conformité au stdart, ca a été retiré de std et placé dans stdext
Marsh Posté le 03-02-2006 à 10:18:10
| ++fab a écrit : une doc sur hash_map ? laquelle ? Y a autant de hash_map que de compilateurs  | 
 
à noté que std::tr1::unordered_map<> est livré avec gcc4. Mais je suis d'accord avec toi, une std::map<> ça fonctionnera très bien. Y a qu'à utiliser.
Marsh Posté le 03-02-2006 à 12:48:44
| chrisbk a écrit : sur sur, depuis VS2003 pour cause de conformité au stdart, ca a été retiré de std et placé dans stdext | 
 
 
vas-y, chausse les vissées !   
  
 
http://groups.google.fr/group/fr.c [...] 8659c3a171
Marsh Posté le 03-02-2006 à 13:49:36
| ++fab a écrit : vas-y, chausse les vissées !   | 
 
 
heuh ???
Marsh Posté le 03-02-2006 à 13:51:08
ReplyMarsh Posté le 03-02-2006 à 13:53:02
J'ai regarde sur google hash_map mais je ne trouve pas d'exemple comment declarer le tableau. 
 
par exemple: 
 
tab["toto"] = 3 
 
comment l'utilise t-ont ? 
 
Merci de votre aide.
Marsh Posté le 03-02-2006 à 13:53:47
ReplyMarsh Posté le 03-02-2006 à 13:59:04
 
ça me parait clair que hash_map<> traine encore dans std:: par compatibilité.
Marsh Posté le 03-02-2006 à 14:00:28
| chrisbk a écrit : hash_map<std::string, int> toto;  | 
 
 d'ou l'utilisation de std::map<> qui est bien plus raisonnable AMHA.
Marsh Posté le 03-02-2006 à 14:01:49
| ++fab a écrit : ça me parait clair que hash_map<> traine encore dans std:: par compatibilité. | 
 
 
il est tjs dans std:: mais si tu l'utilise tu te manges des warnings par pleine poignées "machintruc is deprecated", bref a partir de vs2003 c'est plus utilisable (sauf en desactivant le warning), fo passer par stdext. Meme chose pour les <iostream.h> & cie. A voir si c'est tjs present dans VS2005 ou c'est parti pour de bon 
 
Marsh Posté le 03-02-2006 à 14:02:31
| ++fab a écrit : d'ou l'utilisation de std::map<> qui est bien plus raisonnable AMHA. | 
 
 
ué. Sinon le pb sous gcc c'est qu'il ne defini pas par defaut de fonction de hachage pour std::string (enfin, si, mais non)
Marsh Posté le 03-02-2006 à 14:11:27
SI j'ai bien compris mieux vaut utiliser std::map<std::string,int> sur VC++ ? 
 
il faut inserer l'include <map> je suppose ?  
 
donc l'equivalent de  
tab["toto"]=5 
tab["titi"] = 6 
 
correspond à 
 
std::map<std::string,5> toto 
std::map<std::string,6> titi 
 
si je veux recuperer la valeur de toto je suppose que je dois faire 
int a; 
 
std::map<std::string, a> toto ?? 
 
C'est bien ca ? 
 
Merci.
Marsh Posté le 03-02-2006 à 14:12:33
![[:pingouino] [:pingouino]](https://forum-images.hardware.fr/images/perso/pingouino.gif) pas du tout
 pas du tout 
 
faut lire de la doc sur : 
 
-le c++ (declaration de variable) 
-les templates (instanciation) 
-hash_map 
 
y'en a plein le net 
 
enfin cela dit
| Citation :   | 
 
 
ca, c'est bon
Marsh Posté le 03-02-2006 à 14:33:55
J'ai jamais utilise les templates, mais je vais regarder sur google sur le C++. 
 
Merci.
Marsh Posté le 03-02-2006 à 16:15:54
| badre2911 a écrit : SI j'ai bien compris mieux vaut utiliser std::map<std::string,int> sur VC++ ?  | 
non 
| badre2911 a écrit :   | 
non 
 
std::map<std::string, int> toto; 
toto["foo"] = 6; 
std::cout << toto["foo"]; 
Marsh Posté le 03-02-2006 à 16:50:16
on peut faire ça ??? 
 
Je croyais qu'on utilisait un curseur et qu'on faisait un peu comme ça : 
 
| Code : 
 | 
Marsh Posté le 03-02-2006 à 17:31:42
ouai enfin c'etait pour montrer l'esprit quoi  
 
 
Marsh Posté le 02-02-2006 à 16:43:41
Bonjour,
Est-il possible de faire des liste en C ou C++ du genre :
tab["toto"] = 1
tab["titi"] = 3
ou
tab["toto"]= "jaune"
tab["titi"]="rouge"
Avez vous une idee la dessus ?
Peut etre qu'avec CString cela est possible?
Merci de votre aide.