当前位置: 首页 > news >正文

使用了C++11标准库中的随机数生成器

#include <QCoreApplication>
#include <QDebug>
#include <random>

这部分代码包含了必要的头文件:

  • QCoreApplication:用于Qt应用程序的基础类。

  • QDebug:用于Qt的调试输出。

  • random:C++11标准库中的随机数生成功能。

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    // 这是主函数的开始,创建了一个Qt应用程序对象a
    std::random_device rd;  // 用于获取一个种子
    std::mt19937 gen(rd()); // 使用Mersenne Twister算法的生成器
    std::uniform_int_distribution<> dis(1, 10); // 定义分布范围为1到10
}

下面这部分代码初始化了随机数生成器:

  • std::random_device rd:创建一个随机设备,用于生成非确定性的随机数,作为种子。

  • std::mt19937 gen(rd()):使用Mersenne Twister算法创建一个随机数生成器,并用rd()生成的随机数作为种子。

  • std::uniform_int_distribution<> dis(1, 10):定义一个均匀分布的整数生成器,范围从1到10。

 

 qDebug() << "Random number:" << dis(gen); // 打印随机数

 这行代码使用生成器gen和分布dis生成一个随机数,并使用qDebug()打印出来。

return a.exec();

最后,调用QCoreApplicationexec()方法,进入Qt的事件循环,等待用户操作或事件触发。

完整代码

#include <QCoreApplication>
#include <QDebug>
#include <random>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    std::random_device rd;  // 用于获取一个种子
    std::mt19937 gen(rd()); // 使用Mersenne Twister算法的生成器
    std::uniform_int_distribution<> dis(1, 10); // 定义分布范围为1到10

    qDebug() << "Random number:" << dis(gen); // 打印随机数

    return a.exec();
}
    

 

相关文章:

  • 医药企业数字化转型路径:从数据驱动到生态重构
  • GPT降智?静态住宅IP也许是关键!
  • 前端react 实现分段进度条
  • Linux(25)——进程调度
  • SQL Server :可用性组 automatic seeding
  • Visual Studio Code配置自动规范代码格式
  • 大语言模型智体的综述:方法论、应用和挑战(上)
  • 随性研究c++-智能指针
  • 扫描仪+文档pdf编辑器+pdf格式转换器
  • 电力系统惯量及其作用解析
  • 移动端动态化建设的演进与实践:从技术革新到生态繁荣
  • DAY 33 leetcode 383--哈希表.赎金信 49--字母异位词分组
  • 如何本地部署RWKV-Runner尝鲜CPU版
  • odrive环境构筑问题
  • R语言绘图 | 使用scplotter包绘制细胞间通信图
  • 【超详细】一文解决更新澎湃2.0后LSPose失效问题
  • STM32 FATFS - 在flash上运行fatfs
  • 文章记单词 | 第15篇(六级)
  • Java笔记2——编程基础
  • 高效内存位操作:如何用C++实现数据块交换的性能飞跃?
  • 脱欧后首次英欧峰会召开前夕,双方却因渔业和青年流动议题僵住了
  • 证监会副主席李明:近期将出台深化科创板、创业板改革政策措施
  • 读懂城市|成都高新区:打造“人尽其才”的“理想之城”
  • “上海-日喀则”援藏入境旅游包机在沪首航
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 贵州仁怀通报“正新鸡排鸡腿里全是蛆”:已对同类产品封存送检