在C++中,可以使用std::srand()
函數設置隨機數生成器的種子。通常情況下,可以使用系統時間作為種子,這樣每次運行程序時種子都會不同,從而使得生成的隨機數序列也不同。
以下是一個示例代碼,演示如何使用系統時間作為種子來更新隨機數生成器:
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
// 使用系統時間作為種子
std::srand(static_cast<unsigned int>(std::time(nullptr)));
// 生成隨機數
for (int i = 0; i < 10; ++i) {
std::cout << std::rand() << std::endl;
}
return 0;
}
在上面的示例中,std::time(nullptr)
函數返回當前系統時間的秒數,然后將其轉換為unsigned int
類型,并作為參數傳遞給std::srand()
函數,從而更新了隨機數生成器的種子。接著通過std::rand()
函數生成了10個隨機數并輸出到控制臺。由于每次運行程序時種子都會不同,因此生成的隨機數序列也會不同。