9
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dist(0, 100);
for (int n = 0; n < 100; ++n)
std::cout<<dist(gen)<<std::endl;
和
std::random_device rd;
std::uniform_int_distribution<int> dist(0, 100);
for (int n = 0; n < 100; ++n)
std::cout<<dist(rd)<<std::endl;
第一個例子使用RD()作爲種子之間的不同,但輸出是相似的,我想首先知道什麼是優點。
我在windows vc11發佈模型上測試的性能是相同的。可能取決於隨機設備的實現。我同意mt19937質量更好 – jean
質量問題並不那麼簡單。一個真正的隨機數發生器應該產生更好的隨機數,但只要你要求它產生許多隨機數,它就不能從計算機系統「消耗」足夠的隨機事件來真正產生真正的隨機數。 – PureW
但是,你是對的,實現可能會有很大的不同。 – PureW