我通常在以下时间播种我的 RNG,通过调用获得time.h
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
cout << static_cast<unsigned int>(time(0)) << endl;
return 0;
}
static_cast<unsigned int>(time(0))
在 Boost 库中是否有等价物?
您可以使用boost::posix_time
. 请参阅这个SO 问题。前任:
boost::posix_time::time_duration diff = tick - now;
diff.total_milliseconds();
如果可以使用C++11,也可以使用 C ++11 chrono。前任:
int elapsed_milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count();
使用这两种方法,您可以获得从一天开始的毫秒数,然后将其分配给您的种子。