C++ 标准库随机数:std::default_random_engine

库头文件 #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;
}
相关推荐
故事不长丨1 小时前
C#定时器与延时操作的使用
开发语言·c#·.net·线程·定时器·winform
hefaxiang1 小时前
C语言常见概念(下)
c语言·开发语言
“αβ”1 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
欧阳天风1 小时前
js实现鼠标横向滚动
开发语言·前端·javascript
十五年专注C++开发1 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
gcfer1 小时前
CS144 中的C++知识积累
c++·右值引用·智能指针·optional容器
yue0082 小时前
C# Directory的用法介绍
开发语言·c#
雨落秋垣2 小时前
手搓 Java 的用户行为跟踪系统
java·开发语言·linq
Bona Sun2 小时前
单片机手搓掌上游戏机(二十)—pico运行doom之编译环境
c语言·c++·单片机·游戏机
爱丽_3 小时前
深入理解 Java Socket 编程与线程池:从阻塞 I/O 到高并发处理
java·开发语言