此函数取一定范围内的浮点随机数。
#include<cstdlib>
#include<ctime>
float random_float(float min, float max)
{
static struct r { r(void) { srand((unsigned int)time(NULL)); } } initializer;
return (max - min) * ((float)rand() / RAND_MAX) + min;
}
initializer的作用是在函数第一次执行时调用srand初始化,未测试是否会被compiler给optimize掉。