gpt4 book ai didi

c++ - 我应该使用 std::default_random_engine 还是应该使用 std::mt19937?

转载 作者:IT老高 更新时间:2023-10-28 22:26:57 35 4
gpt4 key购买 nike

当我想使用 std::random 生成随机数时,我应该更喜欢哪个引擎? std::default_random_engine 还是 std::mt19937?有什么区别?

最佳答案

对于轻量级随机数(例如游戏),您当然可以考虑 default_random_engine .但是,如果您的代码严重依赖于随机性的质量(例如模拟软件),则不应使用它,因为它只提供极简保证:

It is the library implemention's selection of a generator that provides at least acceptable engine behavior for relatively casual, inexpert, and/or lightweight use.

mt19937 32 位 mersene twister(或其 64 位对应物 mt19937_64)在另一侧是 well known algorithm通过非常好statistical randomness tests .所以它是科学应用的理想选择。

但是,如果您的随机数用于 security,则您无需考虑它们。 (例如加密)目的。

关于c++ - 我应该使用 std::default_random_engine 还是应该使用 std::mt19937?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30240899/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com