库头文件 #include <random>
cpp
// 通过种子值设置随机数生成器
std::default_random_engine rng(seed);
// 不设置种子值,使用默认值
std::default_random_engine rng;
cpp
// 生成一个0到9之间的随机整数
int random_int = rng() % 10;
// 生成一个0到1之间的随机浮点数
float random_float = std::generate_canonical<float, 10>(rng);
cpp
std::default_random_engine& getRandomEngine()
{
static std::default_random_engine re(std::random_device{}());
return re;
}
bool randomDraw(int32_t draw, int32_t range)
{
std::uniform_int_distribution<> ud(0, range - 1);
return ud(getRandomEngine()) < draw;
}