Je suis nouveau pour booster et essayer d'écrire des programmes simples pour le comprendre. Ici, dans le morceau de code suivant, j'essaie de remplir un tableau avec des nombres aléatoires. Voici mon code:Utilisation de boost lambdas
using namespace boost::lambda;
srand(time(NULL));
boost::array<int,100> a;
std::for_each(a.begin(), a.end(), _1=rand());
Mais il semble que rand()
obtient évalué une seule fois et mon tableau est contenant les mêmes valeurs pour chaque élément. Quelqu'un peut-il indiquer ce qui ne va pas avec ce code?
Vous n'avez pas besoin d'utiliser boost :: lambda pour remplir le tableau avec des nombres aléatoires, soit dit en passant. Vous pourriez, par exemple, utiliser 'std :: generate (a.begin(), a.end(), &rand);'. – MP24
peut-être que je peux le faire, mais je voudrais quand même savoir pourquoi cette approche ne fonctionnera pas .. – Naveen