我将如何生成种子或哈希,使兰特实际上是随机的?我每次选择一个号码时都需要改变它.c ++的新手,所以我不确定如何做到这一点.谢谢!:d
使用C++ 11,您可以使用std::random_device.我建议你看一下综合指南的链接.
从视频链接中提取基本信息:您永远不应该使用&,而是使用和- 在大多数情况下,以下内容将是您想要的:srandrandstd::random_devicestd::mt19937
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 mt(rd());
std::uniform_int_distribution<int> dist(0,99);
for (int i = 0; i < 16; i++) {
std::cout << dist(mt) << " ";
}
std::cout << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
如果不采样环境数据或访问量子随机数源,就不存在“真正随机”的随机数生成器。如果您需要真正的随机数,请考虑访问 ANU 随机数源 ( http://qrng.anu.edu.au/FAQ.php#api )。
否则,Boost 提供了更强大的伪 RNG,这应该足以满足大多数用途:http://www.boost.org/doc/libs/1_58_0/doc/html/boost_random.html
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |