Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2115 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  std::mem_fun et for_each

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

std::mem_fun et for_each

n°1974084
Glock 17Pr​o
Posté le 16-03-2010 à 07:57:22  profilanswer
 

Code :
  1. struct Foo
  2. {
  3. bool f(const std::pair<int,std::string> &p)const{return 0;}
  4. };
  5. void main()
  6. {
  7. std::map<int,std::string> var;
  8. var[1]="data1";
  9. var[2]="data2";
  10. Foo obj;
  11. std::for_each( var.begin(), var.end(), std::bind1st( std::mem_fun(&Foo::f), &obj ) );
  12. }


 
où est le problème ?


---------------
.
mood
Publicité
Posté le 16-03-2010 à 07:57:22  profilanswer
 

n°1974106
theshockwa​ve
I work at a firm named Koslow
Posté le 16-03-2010 à 10:46:16  profilanswer
 

ca devrait être une mem_fun1 plutôt, non ?
non, en fait, non ...
 
Je repasse dessus et je réalise seulement maintenant que tu tentes de faire un pointeur sur une fonction qui prend des références en argument. J'imagine qu'à un moment, il tente de prendre une référence sur ton type T déduit (qui, ici, est const std::pair<int, std::string>& ) et ca fait une double référence sur la paire, et ca doit être pour ca que ca casse. Ca doit passer si tu passes ta paire par valeur, et non pas par référence.


Message édité par theshockwave le 16-03-2010 à 12:04:12

---------------
last.fm
n°1974312
jesus_chri​st
votre nouveau dieu
Posté le 16-03-2010 à 22:05:40  profilanswer
 

mem_fun_ref
std::map<int,std::string>::value_type c'est std::pair<const int,std::string> il me semble.

n°1974331
Glock 17Pr​o
Posté le 16-03-2010 à 23:03:11  profilanswer
 

effectivement faut passer par valeur partout , au niveau de std::pair dans f et également au niveau du bind1st et mem_fun_ref aussi bonne complémentarité messieurs  :D


Message édité par Glock 17Pro le 16-03-2010 à 23:07:31

---------------
.
n°1974347
Glock 17Pr​o
Posté le 17-03-2010 à 07:56:21  profilanswer
 

ok ou bien juste passage par valeur de std::pair bien vu shock


---------------
.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  std::mem_fun et for_each

 

Sujets relatifs
Enchainer les for_each de la Stl[Résolu] - [XSL] problème avec un xls:for-each
PB boucle "for each" sur quelques feuilles seulementPassage de paramètre à for each en xslt
Traitement formulaire avec for each et explodescript pour modifier un xsl:for-each
[RESOLU] Open Office Basic : Problème for eachMacro avec boucle "For Each Feuille" pour une partie du nom
(résolu) Boucle For each sur textbox dans userformRécupérer l'indice courant dans un <xsl:for-each>
Plus de sujets relatifs à : std::mem_fun et for_each


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR