Pages : 1
#1 Le 14/09/2008, à 00:40
- tiky
Stl, for_each et fonction membre
Bonjour,
Je voudrais utiliser une fonction membre dans un for_each de la stl sans utiliser la bibliothèque boost.
void DiagramPage::add_object( DiagramObject * p_DiagramObject )
C'est la fonction que je veux appeler dans le for_each
Le for_each:
std::for_each( cloneObjects.begin(), cloneObjects.end(),
std::mem_fun( &DiagramPage::add_object ) );
Évidemment ce code ne fonctionne pas puisque je ne spécifie pas l'objet DiagramPage à utiliser. Je ne sais pas comment faire.
cloneObjects est une liste stl de pointeur sur des objets clonés de type DiagramObject.
Merci de votre aide.
Dernière modification par tiky (Le 14/09/2008, à 00:41)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne
#2 Le 14/09/2008, à 17:06
- nicolas66
Re : Stl, for_each et fonction membre
Pourquoi n'utilises-tu pas plutôt une simple boucle `for' ou `while' ?
EDIT : je pense avoir trouvé une solution à ton problème :
DiagramObject * Object;
std::for_each(cloneObjects.begin(), cloneObjects.end(), std::bind2nd(std::mem_fun(&DiagramPage::add_object), Object));
Par contre, lorsque le nombre de paramètres est plus élevé, faudrait s'orienter vers boost.
Dernière modification par nicolas66 (Le 14/09/2008, à 18:03)
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne