Bonjour,

Prenons par exemple le problème suivant: nous voulons remplir un tableau d'entier avec des nombres aléatoires compris entre 0 et un nombre donné. Prenons donc le code suivant qui fais ce qui est demandé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <algorithm>
 
// foncteur qui génère des nombre aléatoires compris entre 0 et mod
struct RandMod
{
	RandMod( int mod ) : mod_(mod) {}
	int operator()() { return ( (int) rand() ) % mod_; }
 
private: 
	int mod_;
};
 
main()
{
	int* buffer = new int[10];
	std::generate( buffer, buffer + 10, RandMod( 1000 ) );
}
Ok, le code ci-dessus fonctionne, mais comme je veux être à la mode, je veux utiliser des lambdas. Comment faire pour faire la même chose sans foncteur mais avec un lambda à la place?