在C++中,可以使用种子来控制随机数生成器的行为,从而避免生成重复的随机数值。可以通过设置不同的种子来确保每次生成的随机数序列都是不同的。
以下是一个示例代码,演示如何使用种子来避免生成重复的随机数值:
#include <iostream>
#include <random>
int main() {
// 创建一个随机数生成器对象
std::mt19937 rng;
// 使用时间作为种子,确保每次生成的随机数序列都是不同的
rng.seed(std::random_device{}());
// 生成10个随机数并输出
for (int i = 0; i < 10; i++) {
std::cout << rng() << std::endl;
}
return 0;
}
在上面的示例中,我们使用了std::random_device
来生成一个随机的种子,并将其传递给随机数生成器对象rng
的seed
方法。这样每次运行程序时,都会使用不同的种子来生成随机数序列,从而避免生成重复的随机数值。