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

  FORUM HardWare.fr
  Programmation
  C

  [VC++] Liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] Liste

n°1297584
badre2911
Posté le 02-02-2006 à 16:43:41  profilanswer
 

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.

mood
Publicité
Posté le 02-02-2006 à 16:43:41  profilanswer
 

n°1297585
chrisbk
-
Posté le 02-02-2006 à 16:44:43  profilanswer
 

en C++, avec hash_map, oui

n°1297626
Emmanuel D​elahaye
C is a sharp tool
Posté le 02-02-2006 à 17:21:39  profilanswer
 

badre2911 a écrit :

Est-il possible de faire des liste en C ou C++ du genre :
tab["toto"] = 1
tab["titi"] = 3


[C] Non.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1297713
badre2911
Posté le 02-02-2006 à 18:50:01  profilanswer
 

Merci, mais il n'y a pas plus simple que les hash_map ??

n°1297722
Emmanuel D​elahaye
C is a sharp tool
Posté le 02-02-2006 à 19:01:02  profilanswer
 

badre2911 a écrit :

Merci, mais il n'y a pas plus simple que les hash_map ??


Tables de chaines triées, recherche dichotomique...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1297746
Joel F
Real men use unique_ptr
Posté le 02-02-2006 à 19:18:03  profilanswer
 

punaise hash_map c'est pas le drame o_O
on vous pas appris à lire les docs ?

n°1298104
++fab
victime du syndrome IH
Posté le 02-02-2006 à 20:39:51  profilanswer
 

Joel F a écrit :

punaise hash_map c'est pas le drame o_O
on vous pas appris à lire les docs ?


 
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$  :sweat:  
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.

n°1298111
chrisbk
-
Posté le 02-02-2006 à 20:47:43  profilanswer
 

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)

n°1298120
++fab
victime du syndrome IH
Posté le 02-02-2006 à 21:08:46  profilanswer
 

chrisbk a écrit :

stdext chez m1cr0sh1tzor lol depuis teh mighty multichity vs 2003, lol
(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]

n°1298259
Joel F
Real men use unique_ptr
Posté le 03-02-2006 à 08:07:00  profilanswer
 

++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  :sleep:

mood
Publicité
Posté le 03-02-2006 à 08:07:00  profilanswer
 

n°1298261
chrisbk
-
Posté le 03-02-2006 à 08:15:43  profilanswer
 

++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.
 
 
 
 Yeah [:nico95]


 
sur sur, depuis VS2003 pour cause de conformité au stdart, ca a été retiré de std et placé dans stdext

n°1298343
Taz
bisounours-codeur
Posté le 03-02-2006 à 10:18:10  profilanswer
 

++fab a écrit :

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$  :sweat:  
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.


à 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.

n°1298464
++fab
victime du syndrome IH
Posté le 03-02-2006 à 12:48:44  profilanswer
 

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 !  :D  
 
http://groups.google.fr/group/fr.c [...] 8659c3a171

n°1298519
chrisbk
-
Posté le 03-02-2006 à 13:49:36  profilanswer
 


 
heuh ???

n°1298520
chrisbk
-
Posté le 03-02-2006 à 13:51:08  profilanswer
 
n°1298521
badre2911
Posté le 03-02-2006 à 13:53:02  profilanswer
 

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.

n°1298523
chrisbk
-
Posté le 03-02-2006 à 13:53:47  profilanswer
 

hash_map<std::string, int> toto;
 
 
(sous gcc t'auras des emmerdes, cela dit)
 

n°1298528
++fab
victime du syndrome IH
Posté le 03-02-2006 à 13:59:04  profilanswer
 


ça me parait clair que hash_map<> traine encore dans std:: par compatibilité.

n°1298531
++fab
victime du syndrome IH
Posté le 03-02-2006 à 14:00:28  profilanswer
 

chrisbk a écrit :

hash_map<std::string, int> toto;
 
 
(sous gcc t'auras des emmerdes, cela dit)


 d'ou l'utilisation de std::map<> qui est bien plus raisonnable AMHA.

n°1298532
chrisbk
-
Posté le 03-02-2006 à 14:01:49  profilanswer
 

++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
 

n°1298535
chrisbk
-
Posté le 03-02-2006 à 14:02:31  profilanswer
 

++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)

n°1298540
badre2911
Posté le 03-02-2006 à 14:11:27  profilanswer
 

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.

Message cité 1 fois
Message édité par badre2911 le 03-02-2006 à 14:13:41
n°1298541
chrisbk
-
Posté le 03-02-2006 à 14:12:33  profilanswer
 

[:pingouino] 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 :


 
SI j'ai bien compris mieux vaut utiliser std::map<std::string,int> sur VC++ ?
 
il faut inserer l'include <map> je suppose ?  


 
ca, c'est bon


Message édité par chrisbk le 03-02-2006 à 14:13:32
n°1298561
badre2911
Posté le 03-02-2006 à 14:33:55  profilanswer
 

J'ai jamais utilise les templates, mais je vais regarder sur google sur le C++.
 
Merci.

n°1298657
Taz
bisounours-codeur
Posté le 03-02-2006 à 16:15:54  profilanswer
 

badre2911 a écrit :

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

non

badre2911 a écrit :


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.

non
 
std::map<std::string, int> toto;
toto["foo"] = 6;
std::cout << toto["foo"];

n°1298691
MEI
|DarthPingoo(tm)|
Posté le 03-02-2006 à 16:50:16  profilanswer
 

on peut faire ça ???
 
Je croyais qu'on utilisait un curseur et qu'on faisait un peu comme ça :
 

Code :
  1. map<string, int> map;
  2. map<string, int>::iterator c_map;
  3.     c_map = map.begin();
  4.     c_map->first = "toto";
  5.     c_map->second = 6;


Message édité par MEI le 03-02-2006 à 17:32:22

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1298724
chrisbk
-
Posté le 03-02-2006 à 17:30:17  profilanswer
 

heuh la ton iterateur y pointe sur que dalle

n°1298725
MEI
|DarthPingoo(tm)|
Posté le 03-02-2006 à 17:31:42  profilanswer
 

ouai enfin c'etait pour montrer l'esprit quoi :)
 


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1298803
badre2911
Posté le 03-02-2006 à 19:02:03  profilanswer
 

Merci pour votre aide. Je vais tester.

mood
Publicité
Posté le   profilanswer
 


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

  [VC++] Liste

 

Sujets relatifs
interroger interpréteur, liste objets créés hors du script.[ASP3] Alimenter une table access via une liste déroulante
recherche d'index absents d'une liste de tables définie[MySQL] Exporter la liste des utilisateurs ?
liste déroulanteTexte defilant dans liste deroulante ? 8-)
Liste des applications sous windowsRecuperer valeur d'une liste deroulante en javascript
[Résolu][JSP/STRUTS]pré-selection liste déroulanteGtk2.0 liste deroulante...
Plus de sujets relatifs à : [VC++] Liste


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