我应该如何生成一个种子或哈希值,使得rand函数实际上是随机的?我需要它在每次选择一个数字时都会改变。由于我是c++的新手,所以不太确定如何做。谢谢!:D
我应该如何生成一个种子或哈希值,使得rand函数实际上是随机的?我需要它在每次选择一个数字时都会改变。由于我是c++的新手,所以不太确定如何做。谢谢!:D
在C++11中,您可以使用std::random_device
。我建议您观看此链接获取全面的指南。
从视频链接中提取基本信息:您应该永远不要使用srand
和rand
,而是使用std::random_device
和std::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;
}
<random>
访问。 - Yuushi