要实现C++中随机浮点数的可重复性,可以使用随机数生成器的种子来控制生成的随机数序列。通过设置相同的种子,可以确保每次运行程序时生成的随机数序列都是相同的。
在C++中,可以使用std::mt19937
或std::default_random_engine
等随机数生成器来生成随机数。可以通过std::seed_seq
类来设置种子,然后将种子传递给随机数生成器。例如:
#include <iostream>
#include <random>
int main() {
// 设置种子
std::seed_seq seed{42};
// 创建随机数生成器并设置种子
std::mt19937 gen(seed);
// 生成随机浮点数
std::uniform_real_distribution<float> dist(0.0f, 1.0f);
for (int i = 0; i < 10; i++) {
float random_num = dist(gen);
std::cout << random_num << std::endl;
}
return 0;
}
通过设置相同的种子,每次运行上面的程序时生成的随机浮点数序列都是相同的。