How do you generate a random double uniformly distributed between 0 and 1 from C++?

An old school solution like:

double X=((double)rand()/(double)RAND_MAX);

Should meet all your criteria (portable, standard and fast).
obviously the random number generated has to be seeded the standard procedure is something like:

srand((unsigned)time(NULL));

Leave a Comment