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 :

[Débutant - STL] Conteneur set


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut [Débutant - STL] Conteneur set
    Bonjours,

    J' ai un ensemble set de pointeur vers des classes Surface . L' ensemble est membres de la classes application. Une fonction membre de application, refresh(), doit éxecuter la fonctions membre de surfacesurface::draw() tout en passant à chaque fois le pointeur this.

    Comment faire?

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    Dans mes souvenirs (je ne me souviens jamais de la syntaxe par coeur):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::for_each(s.begin(), s.end(), boost::mem_fn(&Surface::Draw));
    Sinon, sans boost, cela doit se faire avec std::mem_fun. (std::mem_fun_ref si tu venais à stocker des objets plutôt que des pointeurs)

    Mais dès qu'il y a des arguments à passer, boost::bind (ou peut-être bien avec std::tr1::bind avec les SL en avance sur la définition du futur standard) devient vite intéressant

    PS: est-ce bien nécessaire un std::set sur des pointeurs ? L'accès en O(ln n) n'est probablement jamais utilisé avec des pointeurs.
    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...

  3. #3
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::for_each(s.begin(), s.end(), std::bind2nd(std::mem_fun(&Surface::Draw), this));

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 82
    Par défaut
    Un set de pointeurs.... un vector ne serait il pas plus adapté ?

  5. #5
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    Arf! Je viens de percuter quel était le this à passer en paramètre.
    Donc comme l'a dit Loulou, sinon avec boost::bind, l'écriture est un peu plus simple.
    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...

Discussions similaires

  1. Pb avec le conteneur set
    Par ilyes_ka dans le forum SL & STL
    Réponses: 13
    Dernier message: 02/04/2009, 11h26
  2. Conteneur set et égalité de classe
    Par tnarol dans le forum SL & STL
    Réponses: 6
    Dernier message: 25/08/2008, 11h53
  3. surcharge des operateur du conteneur set
    Par isoman dans le forum C++
    Réponses: 6
    Dernier message: 10/07/2008, 15h41
  4. STL : std::set problème avec insert ...
    Par Big K. dans le forum MFC
    Réponses: 13
    Dernier message: 08/11/2003, 01h02

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