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 :

question sur l'utilité d'une macro


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 38
    Par défaut question sur l'utilité d'une macro
    Hello tout le monde,

    est-ce que quelqu'un pourrait m'expliquer l'intérêt de faire une macro comme celle qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #define MY_MACRO (reinterpret_cast<AnyObject>(INT_MIN + 1))
    Et c'est utilisé comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AnyObject anObject = MY_MACRO
    Je suis désolé mais je ne suis pas autorisé à vous donner le contexte...

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    L’intérêt de ce genre de macro est de simplifier l'écriture et la lecture de ton code.
    De plus tu peux, en simplement redéfinissant ta macro, changer l'effet de toutes ses occurrences sans passer 10 plombes à fouiller ton code.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 38
    Par défaut
    Certes...

    D'abord merci pour ta réponse. Mais je vais peut-être reformuler alors. Qu'est ce que ça fait concrètement?

    Un reinterpret_cast n'est-il pas fait pour un cast d'objet vers un autre?
    En gros cette macro caste une entier en un objet de type AnyObject...
    Qu'est ce que ça représente en C++...?

    C'est comme si je faisais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaVoiture renault = 1234;
    non?

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    Non ca reutilise le pattern de bit pour reconstruire l'objet.

    Note que cette utilisation de reinterpret_cast est non standard et conduit tres certainement a une Undefined Behavior.

    cas ent le gars qui c'est pas ecrire un constructeur :/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 38
    Par défaut
    Merci pour ta réponse, mais je crains de te demander de m'aider un peu plus ^^

    Je ne vois pas du tout comment un objet peut être reconstruit à partir d'un simple int...
    Et qu'implique un "Undefined Behavior"?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Hello

    en fait l'idée est de partir du principe que l'empreinte mémoire de l'entier choisi est identique à l'empreinte mémoire de l'objet construit que l'on veut obtenir.

    C'est complètement n'imp de faire ça, peux tu contacter l'auteur pour lui demander des explications ?

Discussions similaires

  1. Question sur l'existence d'une macro
    Par challe1976 dans le forum Macros Access
    Réponses: 16
    Dernier message: 09/04/2015, 16h41
  2. Question sur la rapidité d'une macro
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/06/2009, 16h29
  3. Question sur la création d'une table
    Par air dans le forum Oracle
    Réponses: 4
    Dernier message: 23/10/2005, 12h46
  4. Réponses: 5
    Dernier message: 13/10/2005, 12h46
  5. question sur la creation d'une base
    Par vbcasimir dans le forum Débuter
    Réponses: 4
    Dernier message: 27/05/2005, 11h17

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