原创 QT 5.15.0中Qrand函数更换为QRandomGenerator的问题处理.pdf
QT 5.15.0 中 Qrand 函数更换为 QRandomGenerator 的问题处理 在 QT 5.15.0 版本中,Qrand 函数被抑制,建议更换为 QRandomGenerator。Qrand 函数是一个遗留函数,用于保持旧代码的兼容性,但是在新代码中,我们强烈建议不要使用它,而是使用 QRandomGenerator。 Qrand 函数的描述可以在 QT 5.15.0 手册中找到,该函数返回一个介于 0 到 RAND_MAX 之间的随机数,RAND_MAX 是一个常量,定义在 `<cstdlib>` 和 `<stdlib.h>` 头文件中。为了使用 Qrand 函数,需要使用 qsrand() 函数来初始化伪随机数生成器,并且需要在每个线程上至少执行一次种子设置。如果跳过了这个步骤,则序列将被预先种子化为一个常量值。 然而,Qrand 函数已经被QT 新版本抑制,建议不要使用,而是使用 QRandomGenerator。问题是,如何将 Qrand 函数替换为 QRandomGenerator?为了解决这个问题,我们需要搞清楚 Qrand 函数的随机数范围。 在 stdlib.h 文件中,RAND_MAX 被定义为 `#define RAND_MAX 0x7fff`,这是一个十六进制常量,转换为十进制为 32767。因此,Qrand 函数的随机数范围为 0-32767。 那么,我们可以使用 QRandomGenerator::global()->bounded(0, 32767) 替换 Qrand 函数,从而解决问题。 在使用 QRandomGenerator 时,需要注意以下几点: * QRandomGenerator 是一个线程安全的随机数生成器,可以在多个线程中使用。 * QRandomGenerator 可以生成高质量的随机数,适合各种应用场景。 * QRandomGenerator 可以生成的随机数范围可以根据需要进行调整。 使用 QRandomGenerator 替换 Qrand 函数可以解决随机数生成的问题,并且提供了更好的随机数生成性能和安全性。
- 爱学习的黄同学2022-11-09没任何参考价值。。。
- 粉丝: 3
- 资源: 25
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助