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;
}

questionAnswers(11)

yourAnswerToTheQuestion