Consider
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>
(std::chrono::system_clock::now().time_since_epoch()).count();
std::mt19937 rd {ms};
ms
is of type std::chrono::system_clock::rep
which is signed. std::mt19937
will call std::mersenne_twister_engine(ms)
but its parameter type result_type
is unsigned.
Is there an issue with this? cppreference says it is undefined:
result_type | The integral type generated by the engine. Results are undefined if this is not an unsigned integral type.
Aucun commentaire:
Enregistrer un commentaire