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()函数的种子是固定的问题。