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 :

Nom de l'objet instancié


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut Nom de l'objet instancié
    Boujour,

    J'ai juste un petit problème:
    je souhaiterais afficher le nom de l'objet que je viens d'instancier:
    Object ob1;

    Est-ce qu'il existe une fonction (et dans quelle librairie) qui renvoie le nom ici ob1).

    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Le C++ n'est pas un langage interprété, ce genre d'information disparaît après compilation et n'est donc pas accessible à l'exécution. Si tu veux associer des instances à des noms, il faudra le faire explicitement, par exemple avec std::map.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 12
    Par défaut
    Comment faut-il procéder pour "le faire explicitement, par exemple avec std::map"?

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Le plus simple est de faire ça avec les RTTI.
    Regarde déjà si tu peux t'en sortir avec std::type_info::name, bien que ce soit dépendant de l'implémentation.

  5. #5
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par speeddo
    Boujour,

    J'ai juste un petit problème:
    je souhaiterais afficher le nom de l'objet que je viens d'instancier:
    Object ob1;

    Est-ce qu'il existe une fonction (et dans quelle librairie) qui renvoie le nom ici ob1).

    Merci d'avance !
    Salut,

    C++ n'implémente pas de mécanisme de réflexion en standard. Peut-être qu'il existe une bibliothèque fournissant le support runtime à ce type de fonctionnalité... Je n'ai pas l'expertise pour répondre à cette question, mais les mots clés à introduire dans sont quelque chose comme reflexion, introspection, C++

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 294
    Par défaut
    Le sens et l'intérêt m'échappe un peu souvent.
    Et quel est le nom de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    T * p1 = new T();
    T * p2 = p1;
    ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Ah je croyais qu'il parlait du nom du type...

Discussions similaires

  1. Plusieurs objets instanciés, un seul nom ?
    Par Faluchard dans le forum Général Java
    Réponses: 7
    Dernier message: 24/08/2011, 10h46
  2. [FLASH MX2004] Valeurs d'objets instances de classes...
    Par amietbeach dans le forum Flash
    Réponses: 2
    Dernier message: 25/02/2006, 15h38
  3. Recuperer le nom de l'objet du champ en cours.
    Par gregco1 dans le forum Débuter
    Réponses: 3
    Dernier message: 12/02/2006, 14h36
  4. [c#] nomer nom d'un objet..
    Par orelero dans le forum C#
    Réponses: 9
    Dernier message: 22/12/2005, 19h11
  5. Réponses: 7
    Dernier message: 03/12/2004, 12h40

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