c++ rand函数怎样改进随机性

avatar
作者
猴君
阅读量:14

C++中的rand()函数是一个伪随机数生成器,它生成的随机数序列在每次程序运行时都是相同的。如果想要改进rand()函数的随机性,可以使用更高质量的随机数生成器,例如C++11中引入的std::random_device和std::mt19937类。

  1. 使用std::random_device来获得真正的随机种子:
std::random_device rd; std::mt19937 gen(rd()); 
  1. 使用std::mt19937作为随机数生成器:
std::uniform_int_distribution<int> dist(1, 100); int random_num = dist(gen); 

这样就能够获得更好的随机性,因为std::mt19937是一个高质量的伪随机数生成器,而且通过std::random_device获得的种子是真正的随机数,可以避免rand()函数的种子是固定的问题。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!