御笔剑客 发表于 2018-7-23 15:00:19

关于c++11的random库

#include <bits/stdc++.h>
using namespace std;
int main(void)
{
    random_device rd;
    for(int i=0;i<100;++i)cout<<rd()<<endl;

    return 0;
}

这个不是一个真随机数库吗?为什么每次生成的随机数都是一样的

无符号整形 发表于 2018-7-23 15:21:06

没有设置种子,就像c库里面rand()之前要srand一样。
再说了,真的随机数库并不存在,因为没有函数是每次计算都能得出不同结果的。

御笔剑客 发表于 2018-7-23 15:54:21

无符号整形 发表于 2018-7-23 15:21
没有设置种子,就像c库里面rand()之前要srand一样。
再说了,真的随机数库并不存在,因为没有函数是每次计 ...

文档上写的这是c++11新标准的真随机数生成器

御笔剑客 发表于 2018-7-23 15:55:18

无符号整形 发表于 2018-7-23 15:21
没有设置种子,就像c库里面rand()之前要srand一样。
再说了,真的随机数库并不存在,因为没有函数是每次计 ...

True random number generator
A random number generator that produces non-deterministic random numbers, if supported.

无符号整形 发表于 2018-7-23 15:59:06

天哪……难道你不了解随机数的原理吗。。。{:10_247:}
这东东Linux才是真随机,Windows还是伪随机
这样创建种子
std::default_random_engine generator(time(NULL));
然后bind上去

御笔剑客 发表于 2018-7-23 21:29:47

无符号整形 发表于 2018-7-23 15:59
天哪……难道你不了解随机数的原理吗。。。
这东东Linux才是真随机,Windows还是伪随机
这样创 ...

https://blog.csdn.net/john_jane_doe/article/details/49402037
看来我看了一篇假博客{:10_266:},看完我后来对windows下能真随机产生了疑问

无符号整形 发表于 2018-7-23 21:30:49

御笔剑客 发表于 2018-7-23 21:29
https://blog.csdn.net/john_jane_doe/article/details/49402037
看来我看了一篇假博客,看完 ...

{:10_266:}
页: [1]
查看完整版本: 关于c++11的random库