Bonjour,
je souhaiterai multiplier chaque élément d'un vector en utilisant la fonction STL std::multiplies, mais j'ai un peu de mal à la faire fonctionner. Voici comment je m'y prend :
Hélas, mes valeurs restent les mêmes qu'au début :/. Sinon, j'aimerais savoir la différence entre std::bind2nd et std::bind1st, car en essayant tout à l'heure une fonction, ça me donnait le même résultat qu'elle que soit le bind utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 std::vector <int> ivec; ivec.push_back (1); ivec.push_back (2); ivec.push_back (3); ivec.push_back (4); std::for_each(ivec.begin(), ivec.end(), std::bind2nd(std::multiplies <int>(), 2)); std::cout << ivec[0] << ' ' << ivec[1] << ' ' << ivec[2] << ' ' << ivec[3];
Partager