我正在寻找一种在 C++ 中快速生成两个随机数的方法。该代码用于骰子,需要在滚动时生成一个随机数。我的代码目前如下所示:
Die::Die() {
srand(time(NULL));
}
void Die::roll() {
value = rand() % 6 + 1;
}
如果我使用此代码创建两个对象,作为静态(非基于实例)函数的 srand() 将为所有对象生成一个新种子。我也试过这样做:
void Die::roll() {
srand(time(NULL));
value = rand() % 6 + 1;
}
而不是在构造函数中使用它,但是如果我像下面这样快速调用它们:
die0->roll();
die1->roll();
它们的值通常是相等的。有什么方法可以让这个随机的,每次?感谢你的帮助。:)