随机数生成器

embedded/2024/10/18 18:21:51/

在 《浮点数生成器》 一文中我们分享了如何生成随机浮点数的方法。本文提供一个模板类,用于生成各种随机数类型。

#include <iostream>
#include <random>
#include <type_traits>template<typename T>
class DataGenerator {
public:DataGenerator(T min, T max) : dist(min, max) {}T generate() {return dist(rng);}private:std::random_device rd;std::mt19937 rng{rd()};typename std::conditional<std::is_integral<T>::value,std::uniform_int_distribution<T>,std::uniform_real_distribution<T>>::type dist;};class RandomDoubleGenerator : public DataGenerator<double>
{
public:RandomDoubleGenerator(double min, double max) : DataGenerator(min, max) {}
};class RandomIntGenerator : public DataGenerator<int>
{
public:RandomIntGenerator(int min, int max) : DataGenerator(min, max) {}
};

http://www.ppmy.cn/embedded/9622.html

相关文章

OpenHarmony UI开发-ohos-svg

简介 ohos-svg是一个SVG图片的解析器和渲染器&#xff0c;解析SVG图片并渲染到页面上。它支持大部分 SVG 1.1 规范&#xff0c;包括基本形状、路径、文本、样式和渐变,它能够渲染大多数标准的 SVG 图像。ohos-svg的优点是性能好、内存占用低。 效果展示 SVG图片解析并绘制: …

IntelliJ IDEA 2024 中文激活版 mac/win

IntelliJ IDEA 2024是一款由JetBrains公司开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为Java等编程语言量身打造&#xff0c;同时支持多种其他语言。该软件凭借其出色的智能化和高效性&#xff0c;赢得了广大开发者的喜爱。 IntelliJ IDEA 2024 for mac中文激…

江苏瑞达环保科技股份有限公司| 邀您参加2024全国水科技大会暨技术装备成果展览会

—— 展位号:A18 —— 江苏瑞达环保科技股份有限公司是一家致力于环境保护和可持续发展的高新技术企业&#xff0c;专注于环境治理技术研发和环保节能装备制造,为工业企业提供可靠的工程解决方案。2023年&#xff0c;瑞达科技被认定为江苏省省级专精特新企业。 瑞达科技成立于2…

天星金融细说社保 筑牢民生保障防线

随着经济的蓬勃发展与社会的不断进步&#xff0c;社保制度作为保障人民群众切身利益的重要机制&#xff0c;其重要性日益凸显。近年来&#xff0c;社保体系的不断完善与更新&#xff0c;使得群众对社保的参与意识逐渐增强。然而&#xff0c;却有人利用群众的需求&#xff0c;以…

EelasticSearch的介绍和基于docker安装

1.概述 Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。它专为云计算环境设计&#xff0c;提供了一个分布式的、高可用的实时分析和搜索平台。Elasticsearch 可以处理大量数据&#xff0c;并且具备横向扩展能力&#xff0c;能够通过增加更多的硬…

如何修改WordPress数据库表前缀以提高安全性

WordPress作为世界上最受欢迎的内容管理系统之一&#xff0c;吸引了数以百万计的用户。然而&#xff0c;正因为其广泛的使用&#xff0c;WordPress网站也成为了黑客攻击的目标之一。其中一个最常见的安全漏洞是使用默认的数据库表前缀wp_&#xff0c;使得黑客能够更轻松地进行大…

TFTLCD原理硬件介绍

介绍 TFT LCD&#xff08;薄膜晶体管液晶显示器&#xff09;是一种广泛使用的显示技术&#xff0c;它结合了薄膜晶体管&#xff08;TFT&#xff09;和液晶显示&#xff08;LCD&#xff09;技术。TFT LCD的主要特点是使用TFT矩阵来控制施加到每个像素的电压&#xff0c;从而实现…

vue-treeselect 的基本使用

vue-treeselect 的基本使用 1. 效果展示2. 安装 插件3. 引入组件4. 代码 1. 效果展示 2. 安装 插件 vue-treeselect是一个树形的下拉菜单&#xff0c;至于到底有多少节点那就要看你的数据源有多少层了&#xff0c;挺方便的。下面这个这个不用多说吧&#xff0c;下载依赖 npm in…