OVH Cloud OVH Cloud

remove_if et map

3 réponses
Avatar
docCarcass
Bonjour,
je viens de m'appercevoir que l'algorithme
remove_if ne pouvait pas fonctionner avec les
container associatif.
Quelqu'un peut-il me proposer sa solution ?

Bien =E0 vous,
S=E9bastien

--

int main(){int j=3D1234,putchar();char t[]=3D":@abcdefghij-lmnopqrstuv"
"wxyz.\n",*i=3D"@jq:.pn.q:ibf.gd\noz.dn@ew\nlwh-i",*strchr();while(*i)
{j+=3Dstrchr(t,*i++)-t;j%=3Dsizeof t-1;putchar(t[j]);}return 0;}

3 réponses

Avatar
drkm
docCarcass writes:

je viens de m'appercevoir que l'algorithme
remove_if ne pouvait pas fonctionner avec les
container associatif.


Je n'ai jamais entendu parler d'une telle limitation. Je n'ai rien
trouvé ni dans la doc SGI, ni dans 25.2.7. Une std::map<> ne peut
fournir de Forward Iterator ?

--drkm

Avatar
Fabien LE LEZ
On Sat, 13 Nov 2004 01:31:34 +0100, drkm :

Je n'ai jamais entendu parler d'une telle limitation.


Ahem... Pour une fois que c'est pas moi qui sort une grosse connerie à
cause du manque de sommeil... ;-)

remove_if modifie l'ordre des éléments, pour mettre les éléments à
supprimer à la fin. Or, dans un tableau associatif, l'ordre est fixé
par le foncteur de comparaison, on ne peut pas le modifier.




--
;-)

Avatar
drkm
Fabien LE LEZ writes:

On Sat, 13 Nov 2004 01:31:34 +0100, drkm :

Je n'ai jamais entendu parler d'une telle limitation.


Ahem... Pour une fois que c'est pas moi qui sort une grosse connerie à
cause du manque de sommeil... ;-)


Bon, j'arrête d'en dire, et dodo ...

Merci.

--drkm