Can anyone explain why the function foo1 returns the same value?
#include<iostream>
#include<random>
#include<ctime>
using namespace std;
int foo(default_random_engine& random, uniform_int_distribution<unsigned int>& dis1){
return dis1(random);
}
int foo1(default_random_engine random, uniform_int_distribution<unsigned int> dis1){
return dis1(random);
}
int main()
{
default_random_engine engine(static_cast<unsigned int>(time(0)));
uniform_int_distribution<unsigned int> randomInt(1, 10);
cout << "Way1:\n";
for(int i = 0; i < 10; ++i)
cout<<foo(engine, randomInt)<<' ';
cout<<endl;
cout << "Way2:\n";
for(int i = 0; i < 10; ++i)
cout<<foo1(engine, randomInt)<<' ';
cout<<endl;
return 0;
}
The result is:
Way1:
9 2 5 5 7 7 9 9 6 6
Way2:
7 7 7 7 7 7 7 7 7 7
Aucun commentaire:
Enregistrer un commentaire