我通常会在以下时间播种我的 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 question 。例如:
boost::posix_time::time_duration diff = tick - now;
diff.total_milliseconds();
您还可以使用C++11 chrono ,如果你可以使用C++11。例如:
int elapsed_milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count();
通过这两种方法,您可以获取从一天开始算起的毫秒数,然后将其分配给您的种子。
关于c++ - 使用 Boost 的耗时(以秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15998243/