Lepsze nasiona niż czas (0)?
Rozumiem, że czas (0) jest powszechnie używany do rozsiewania generatorów liczb losowych i staje się problemem tylko wtedy, gdy program jest uruchamiany więcej niż raz na sekundę. Zastanawiam się, jakie są lepsze nasiona do rozważenia przy generowaniu liczb losowych. Czytałem o GetTickCount, timeGetTime i QueryPerformanceCounter w systemie Windows. Czy wystarczą one do prawie wszystkich operacji, czy są jeszcze lepsze opcje wysiewu?
Oto krótki przykład kodu z użyciem biblioteki boost:
#include <iostream>
#include <boost/random.hpp>
using namespace std;
using namespace boost;
int main()
{
mt19937 randGen(42);
uniform_int<> range(0,100);
variate_generator<mt19937&, uniform_int<> > GetRand(randGen, range);
for (int i = 0; i < 30; ++i)
cout << GetRand() << endl;
}