begin process at 2012 05 30 10:36:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Utilisation de std::map avec le type void *


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Utilisation de std::map avec le type void *

vendredi 18 février 2005 à 12:07:58 | Utilisation de std::map avec le type void *

toast3r

Bonjour,

J'utilise un tableau associatif, map et j'ai un problème au niveau de la récuperation des valeurs, voici le code que j'ai actuellement :

#include <iostream>
#include <string>
#include <map>

int main(void)
{
    std::map<std::string , void*> tstmap;
    int var1 = 20;

    tstmap["tab"] = &var1;
    std::cout << "variable " << tstmap["tab"] << std::endl;
    getchar();
    return 0;
}

Avec cet exemple, j'obtient :
variable 0012FE90
ce qui doit etre l'adresse memoire, j'ai donc essaye de caster en int en faisant :
std::cout << "variable " << (int) tstmap["tab"] << std::endl;
Resultat :
variable 1244816

Je bloque un peu sur ce souci, si quelqu'un pouvait m'eclairer, merci d'avance !




vendredi 18 février 2005 à 23:07:20 | Re : Utilisation de std::map avec le type void *

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
C'est normal que ais cela: 0012FE90 en hexa ca fait 1244816 en décimal: les deux représentent la valeur du pointeur, c'est à dire l'adresse de var1. Si tu veux afficher la valeur de var1, il faut faire un indirection. Tu ne peux pas le faire directement puisque le pointeur est de type void: il faut d'abord caster en int*, puis faire une indirection:

std::cout << "variable " << *(int*)tstmap["tab"] << std::endl;
dimanche 20 février 2005 à 19:13:37 | Re : Utilisation de std::map avec le type void *

toast3r

Merci bcp, ca marche nickel ! Encore merci :)



Cette discussion est classée dans : int, include, void, map, std


Répondre à ce message

Sujets en rapport avec ce message

une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m pb de compilation [ par norton ] bonjour, je desir compiler le code suivant mais j'ai une erreur.mon code :#include #include #include void Display();void Reshape(int,int);int main( in Probleme EDL (VC++7) [ par vecchio56 ] Bonjour J'ai deux problèmes d'edition de liens: Dialog.obj : error LNK2001: symbole externe non résolu "public: void __thiscall std::_String_base::_X [debutant]Operation de chaine encore :s [ par firemax ] Bonjour Certain reconaitrons ce code (surtout vecchio56) mais voila ca marche toujours pas et je ne comprend pas :'( Please helllppp Code : #in Delay en decimal [ par gaspard83 ] Bonjour à tous, Je débute tout juste le C++ et me familiarise avec C++ Builder. Je cherche à activer les leds de mon clavier avec ce code, mais le tim Lecture fichier impossible avec SDL [ par CCJ ] Hello.j'utilise SDL pour me faire un petit jeu 2D. Seulement je recontre actuellement un petit probleme. Il semblerait en effet qu'il bloque l'utilisa map [ par taieb84 ] salut j'ai une classe caisse class caisse{            float val;        int nbr;            public:            bool exist(float);    void ajouter(floa tracer des points en c [ par fireman42 ] Bonjour à tous :) Pour un projet d'algorithmique, je dois écrire en C le programme suivant : a) Créer 1000 points d'abscisse de 1 à 1000 et d'ordonné cycle hamiltonien en c++ [ par crapette1 ] Bonjour, Pour un prjet je dois réaliser un petit programme en c++ qui me renvoie un cycle hamiltonien à partir d'un graphe complet. Le seul problèm


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales