【发布时间】:2016-08-26 11:40:42
【问题描述】:
我目前被困在运行时生成随机数。在 Java 中,我只需调用 Math.random() 就完成了(我只需要一个简单的 RNG)。在 C++ 中,我尝试了几种生成随机数的方法,但最终总是得到相同的结果。
目前,我正在使用以下方法来获取 MIN 和 MAX 之间的随机数:
unsigned int getRandomNumber(int min, int max){
std::mt19937 mt(1729);
std::uniform_int_distribution<int> dist(min, max);
return dist(mt);
}
我有一个对象在其构造函数中调用此函数并将返回的值分配给属性。我目前创建了该对象的五个实例,并且随机数始终相同。设置大范围(1 - 1000)不会改变这一点。数字始终相同。安全性不是问题,它是一个极其简单的应用程序。
【问题讨论】:
-
您每次都为随机数生成器提供相同的种子值。只需在程序中使用一次
-
感谢您的链接!