C++中的rand()函數是一個偽隨機數生成器,它生成的隨機數序列在每次程序運行時都是相同的。如果想要改進rand()函數的隨機性,可以使用更高質量的隨機數生成器,例如C++11中引入的std::random_device和std::mt19937類。
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dist(1, 100);
int random_num = dist(gen);
這樣就能夠獲得更好的隨機性,因為std::mt19937是一個高質量的偽隨機數生成器,而且通過std::random_device獲得的種子是真正的隨機數,可以避免rand()函數的種子是固定的問題。