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

SL & STL C++ Discussion :

ajout de reference dans une liste


Sujet :

SL & STL C++

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 182
    Points
    182
    Par défaut ajout de reference dans une liste
    Bonjour,

    je fais rarement du c++, mais en ce moment j'en fais, je suis tombé sur un problème qui me tracasse. J'ai fait quelques recherches, mais c'est loin
    d'être très clair.

    j'ai une liste de pointeurs qui sont des objets composants, chaque composant contient une methode getVersion(), ce sont des singleton.

    Comme vous l'avez compris, ca me permet de connaitre la version de chaque composant et de générer un rapport via un message..

    A chaque création d'instance par un composant, le constructeur de celui-ci s'enregistre dans la liste gérer également dans un singleton ,

    exemple: MonSingleton::getInstance().registerComposant(this).

    Le problème est que le std::list n'accepte pas de reference, mais des pointeurs, c'est que j'ai du faire pour l'instant.

    si j'essaye une reference, j'ai le message error forming pointer to reference type IMonInterface&exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //rejet par le compilo
    std::list<IMonInterface &> maListeDeComposant;
     
    //ok
    std::list<IMonInterface *> maListeDeComposant;
    Merci pour vos info ou lien, je continu à chercher
    JP

  2. #2
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 642
    Points
    7 642
    Par défaut
    Bonjour,

    Une référence ça n'est pas un type, c'est un moyen d'accéder à un objet. On peut avoir un paramètre référence, une instance référence ou un membre référence.
    on ne peut pas pointer sur une référence ou avoir un tableau de références, ça n'a pas de sens.
    Au mieux on peut utiliser l'objet std::reference_wrapper<> qui a le comportement que l'on attend d'une référence.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::list<std::reference_wrapper<IMonInterface>> maListeDeComposant;

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 190
    Points : 182
    Points
    182
    Par défaut
    Merci

    j'avais déjà vu reference_wrapper, qui existe depuis le c11. Mais je ne comprenais pas pourquoi cette limitation, effectivement ce n'est pas un type.

  4. #4
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 469
    Points : 6 102
    Points
    6 102
    Par défaut
    Remarque de vocabulaire : les types référence sont bien des types.

    Voici la classification des types :
    http://en.cppreference.com/w/cpp/language/type

    Le reste de ce que dit dalfab est vrai.

Discussions similaires

  1. [MySQL] Ajout d'options dans une liste déroulante à partir du résultat d'une requête
    Par minogttao dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/12/2006, 18h18
  2. Ajout de données dans une liste d'un formulaire
    Par Elstak dans le forum Access
    Réponses: 1
    Dernier message: 09/08/2006, 15h53
  3. ajouter un élément dans une liste
    Par Le Mérovingien dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 02/07/2006, 17h43
  4. [PHP-JS] ajout d'options dans une liste deroulante
    Par moonia dans le forum Langage
    Réponses: 10
    Dernier message: 04/05/2006, 11h18
  5. Ajouter un valeur dans une liste modifiable
    Par ancylia dans le forum Access
    Réponses: 1
    Dernier message: 22/09/2005, 12h50

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