mem_fun / _ref - C++ - Programmation
Marsh Posté le 20-06-2009 à 19:44:13
ce forum est mort le samedi soir, arrêter de sortir un peu!
Marsh Posté le 20-06-2009 à 20:40:19
De quel A faudrait il appeler le membre A::f()?
Marsh Posté le 21-06-2009 à 12:27:45
Un Programmeur a écrit : De quel A faudrait il appeler le membre A::f()? |
Code :
|
un truc comme ça ??
Marsh Posté le 21-06-2009 à 19:24:50
Si je comprends bien ce que tu veux, la SL ne fournit pas (encore, ce sera en C++0X) ce qu'il faut, il te faut soit utiliser tr1 ou boost ou te faire une classe qui a ce qu'il faut (c'est pas très compliqué, mais ça sert pas à grand chose non plus de réinventer la roue).
Marsh Posté le 21-06-2009 à 19:42:07
ok je pensais que je pouvais adapter une fonction membre pour pouvoir l'utiliser dans les algorithmes de la SL , rien en standard qui prend en charge ça donc
Marsh Posté le 21-06-2009 à 21:00:46
Si tu peux faire des choses. En fait, en combinant avec bind1st, tu peux même faire ce que je crois que tu veux:
Code :
|
Marsh Posté le 21-06-2009 à 21:26:13
error C2664: 'void std::mem_fun1_ref_t<_Result,_Ty,_Arg>::operator ()(_Ty &,_Arg) const' : impossible de convertir le paramètre 1 de 'const A' en 'A &'
je ne vois pas trop comment résoudre le pbm du const
Marsh Posté le 22-06-2009 à 08:06:07
A::f doit être une fonction const puisque les deux arguments des binary_function sont passés par référence constante. Autre chose qui pourrait te surprendre, bind1st copie ses arguments.
Marsh Posté le 22-06-2009 à 11:17:04
Un Programmeur a écrit : A::f doit être une fonction const puisque les deux arguments des binary_function sont passés par référence constante. Autre chose qui pourrait te surprendre, bind1st copie ses arguments. |
super ça marche bien, et si f avait deux arguments, on peut s'en sortir aussi? il faut combiner deux bind?
Marsh Posté le 22-06-2009 à 12:13:26
Ça fait partie des choses pas encore possible.
Marsh Posté le 22-06-2009 à 12:28:23
De même que TR1 (et il y a moyen d'avoir des arguments non const si ma mémoire est fidèle).
Marsh Posté le 20-06-2009 à 18:53:50
Où est le soucy ?
Message édité par Glock 17Pro le 20-06-2009 à 19:14:20