Accueil > Forum > > > > map
map
lundi 16 mai 2005 à 17:06:49 |
map

vecchio56
|
Bonjour,
J'ai une map<T1, T2> m. J'ajoute une clé de la manière suivante:
m[t1] = T2(...);
et tout de suite après j'ai besoin de récupérer l'objet que je viens de créer. Si je fais
m[t1] = T2(...);
m[t1].a = 0;
ca va impliquer deux recherches. Y a-t-il un autre moyen de faire ca?
|
|
lundi 16 mai 2005 à 17:17:42 |
Re : map

vecchio56
|
Pardon, je me suis embrouillé, c'est pas ca que je voulais faire. Je veux en fait la valeur de t1, par exemple:
map<string, int> m;
string s = "cle1";
m[s] = 1;
Et je voudrais avoir l'adresse de la chaine "cle1" qui est stocké dans map.
Suis-je obligé de faire une recherche pour le retrouver
|
|
lundi 16 mai 2005 à 22:30:13 |
Re : map

Hylvenir
|
Salut,
Par curiosité,
à quoi pourrais te servir l'adresse de cette chaine ? (qui est la clef
et qu'il ne faut pas (trop) modifiée )
Ma participation à la saturation du net: http://hylvenir.free.fr
|
|
lundi 16 mai 2005 à 23:19:35 |
Re : map

vecchio56
|
J'ai besoin d'afficher cette chaine par ailleurs, et je souhaite ne
stocker cette chaine que dans la map (pourquoi la mettre à 2
endroits?). L'objet s que j'utilise pour la clé au départ est une
variable locale.
J'ai essayé de faire comme ca:
map<string, int>::iterator i = m.lower_bound(s);
m.insert(i, 1);
mais le 2ème argument de insert ne convient pas
|
|
lundi 16 mai 2005 à 23:31:23 |
Re : map

Hylvenir
|
Réponse acceptée !
pour le insert, il faut une value
m.insert( i, map< string, int >:: value( "cle1", 1 ) );
ou
m.insert( i, make_pair( "cle1", 1 ) );
sinon pourquoi pas juste find ?
map<string, int>::iterator i = m.find(s);
if ( i != m.end() )
i->second = 1; // i->first vaut s
else
m.insert( make_pair( s, 1 ) );
Ma participation à la saturation du net: http://hylvenir.free.fr
|
|
lundi 16 mai 2005 à 23:44:02 |
Re : map

vecchio56
|
Oui pour le moment j'utilise find, mais je me disais que c'était idiot
de refaire une recherche, car puisque je viens d'ajouter une clé je
pourrais savoir ou elle est exactement sans avoir à la rechercher. Si
j'utilise insert, j'aurais un itérateur et je pourrais alors
directement avoir i->first
|
|
lundi 16 mai 2005 à 23:45:46 |
Re : map

vecchio56
|
Je compile avec Visual C++ et
map< string, int >:: value
doit être remplacé par
map< string, int >:: value_type
|
|
mardi 17 mai 2005 à 08:29:22 |
Re : map

Hylvenir
|
Réponse acceptée !
Oui, désolé c'est bien value_type.
Pour le insert,
si tu fais :
pos = m.insert( make_pair( "cle", 1 ) );
pos est une pair contenant un bool et un itérator où a été insérée
un truc du genre
pair< bool, map< string, int >::iterator > pos = m.insert( make_pair( "cle1", 1 ) );
if ( pos.first )
pos.second->first; // contient cle1 en cas de succès
Ma participation à la saturation du net: http://hylvenir.free.fr
|
|
mardi 17 mai 2005 à 10:23:18 |
Re : map

vecchio56
|
Oui, je pense que cette méthode est plus directe. Merci
|
|
Cette discussion est classée dans : t1, t2, map
Répondre à ce message
Sujets en rapport avec ce message
manipulation tableau en c/c++ [ par asmv ]
bonjoursvp un coup de mainen c/c++ est-il possible de copier 3 elements d'1 tableau dans 1 element d'1 autre tableausi oui comment faire ?exemple :si
je m'arrache les cheveu avec mes tableau [ par slyiut ]
bonjour je dois faire un exo qui est la fusion de 2 tableau triés dans un troisieme tableau.Je sais qu'il y a sur le net plein de solution mais ce que
aide c++ [ par jekburn ]
#include #include typedef struct{ int heure; int minute; int seconde;}TEMPS; TEMPS diff(TEMPS t1,TEMPS t2){ TEMPS t3; &n
Diffence de date [ par keerigan ]
Bonjour ,Je dois calculer une difference de date. A savoir j'ai une date t1 et une date t2 et je dois dire qu'entre ces 2 date il s'est ecoule x secon
Concatener 2 tableuax triés [ par Strick9 ]
Salut à tous, je bloque sur l'énoncé suivant.De l'aide serait plus que bienvenue.Ecrire une fonction qui permet d'insérer un tableau d'entier T2 dans
strncat [ par Darkvlador ]
lu !j'ai un problème concernant strncat voilà mon codechar *t1 = "hello";char *t2 = "12mo";char *t3;strncpy(t3, t1, 2);aprèsstrncat(t3, t2, 2);et la q
creation automatique d'une matrice [ par nissan1 ]
Bonjour a tous, Je travail sur mon sujet de stage et je suis bloquer depuis quelques jours car j'ai fait un programme qui contient une fonction qui p
Instanciation JAVA (renommé et déplacé bar --> java) [ par baster200x ]
bonjour tout le monde, j'ai un petit problème .... ben j'ai réalisé un programme de tel façon il prend un texte à partir d'un TextArea [ String text =
c++ [ par noussa44 ]
Bonjour, j'ai un code avec c++ mais il a des erreurs svp si quel qu'un peut m'aider et corriger ce code qui permet de calculer la distance entre des p
c++ [ par noussa44 ]
Salut tout le monde, j'ai besoin svp de vore aide sur un exercice que j'ai fait mais j'ai des erreurs, pour cela je me suis fait recours sur votre a
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|