Hello !
Je ne comprends pas pourquoi dans le code ci-dessous, l'expression lambda n'est evaluee qu'une seule fois :
Si par contre, je travaille avec des int au lieu de int*, l'expression suivante est bien evaluee pour chaque element du vecteur (2 fois ici donc) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 vector<int*> v(2); v[0] = 0; v[1] = 0; for_each(v.begin(), v.end(), _1 = new int);
Si qqun avait une explication .....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 vector<int> v(2); for_each(v.begin(), v.end(), _1 = _1+1);
Partager