我可以将已签名的种子传递给std :: mersenne_twister_engine

时间:2017-02-02 17:19:10

标签: c++ c++11 random types

考虑

auto ms = std::chrono::duration_cast<std::chrono::milliseconds>
          (std::chrono::system_clock::now().time_since_epoch()).count();
std::mt19937 rd {ms};

ms的类型为std::chrono::system_clock::rep,已签名。 std::mt19937会调用std::mersenne_twister_engine(ms),但其参数类型result_type是无符号的。

这有问题吗? cppreference表示未定义:

  

result_type |由发动机产生的整体类型。如果这不是无符号整数类型,则结果未定义。

0 个答案:

没有答案