IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Stockage de Données avec pointeur générique


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 54
    Points
    54
    Par défaut Stockage de Données avec pointeur générique
    Bonjour,
    Je souhaite avoir une fonction qui a en paramètre un pointeur générique qui stocke la donnée en fonction du type pointé. Le problème c'est que je ne vois pas comment "deviner" le type pointé

    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void stocker(void * donnee) {
    //En fonction du type de la donnée
    int a = *(int *) donnee;
    // OU
    float b = *(float *) donnee);
    ...
    }
    Je ne suis pas non plus sûr de ma méthode de déférencement de mon pointeur générique (Je ne l'ai pas encore testé).

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    "deviner" le type pointé par un void* est tout simplement impossible.
    Tu dois donner à ta fonction une information sur le type (enum, etc.)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Points : 54
    Points
    54
    Par défaut
    C'est bien ce que je craignais.
    Merci pour l'information !

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Regarde des types comme le VARIANT de microsoft ou boost::variant; tu verras qu'ils supportent une sélection limitée de types (généralement: tous les types primitifs + certains types de pointeur) et une indication du contenu.

    Les variants sont des tagged unions.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Points : 206
    Points
    206
    Par défaut
    Je ne comprends pas bien l'intérêt de ce que tu veux faire, cependant, les template pourraient peut être t'aider. Si tu nous en disais plus...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Stockage de données avec GWT
    Par wadabush dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 04/12/2012, 12h26
  2. [Toutes versions] Upload et stockage de données avec Sharepoint
    Par 0nn2belle dans le forum SharePoint
    Réponses: 2
    Dernier message: 26/04/2012, 13h19
  3. Réponses: 7
    Dernier message: 14/04/2010, 14h45
  4. stockage de données dans une table générique.
    Par Romers dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/09/2009, 09h11
  5. probleme de stockage de données avec un ByteArrayOutputStream
    Par nonoRedDevils dans le forum Java ME
    Réponses: 7
    Dernier message: 28/02/2007, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo