我使用的visual studio 2010不支持<chrono>
,所以我必須種子default_random_engine
。因此,我決定用rand
種子是如下種子default_random_engine?
srand((unsigned int)time(NULL));
std::default_random_engine engine(rand());
std::normal_distribution<double> randn(0.0, 0.3);
,而不是下面
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::default_random_engine engine(seed);
std::normal_distribution<double> randn(0.0, 0.3);
我得到什麼,我希望爲獲取這兩種方法。我的問題是,是否有我使用rand()注意的任何注意事項? (注:我沒有選擇使用<chrono>
您可能需要閱讀http://www.pcg-random.org/posts /cpp-seeding-surprises.html關於使用當前時間播種少數和/或播種時的問題的博客。 –
@KaspervandenBerg,令人驚歎的鏈接。非常感謝。 – CroCo