要實現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;
}
通過設置相同的種子,每次運行上面的程序時生成的隨機浮點數序列都是相同的。