2

我通常在以下时间播种我的 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 库中是否有等价物?

4

1 回答 1

3

您可以使用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();

使用这两种方法,您可以获得从一天开始的毫秒数,然后将其分配给您的种子。

于 2013-04-14T10:54:45.267 回答