C++中最随机的函数是什么?

5 c++ random

我用过

#include<stdlib>
#include<time>
using namespace std;
srand((unsigned)time(0));
int n=(rand()>>8)%4;
Run Code Online (Sandbox Code Playgroud)

还有什么其他随机函数,或者其他函数可以用作随机数生成器?

编辑:我没有特别的理由提出这个问题,我只是想知道C++是否有任何其他随机函数.

Ano*_*ous 16

  • Boost随机数库提供了广泛的生成器(质量与性能)和一些典型的随机分布.一切都相当美观和直接使用.
  • 如果你想要一些其他的方法/库 - 然后谷歌加密随机数,你也可以使用这个文件作为参考.
  • 除非您是该领域的专家/研究人员,否则不要发明自己的解决方案,利用通常由Smart People编写的现有解决方案,并由其他智能人员进行彻底检查.


小智 14

rand()和srand()函数都是C++标准指定的.如果要写自己的,请注意John von Neumann说的话:

"任何考虑产生随机数字的算术方法的人当然都处于犯罪状态"


jus*_*nhj 14

这段代码非常有效.虽然用户可能会在几次迭代后开始注意到模式.

int FastRandom()
{
  return 10;
}
Run Code Online (Sandbox Code Playgroud)

  • 大声笑!!好的! (3认同)

rei*_*ein 5

不严格的C++,但Windows特定:

CryptGenRandom

我确信所有操作系统都具有等效的加密安全随机生成器功能.