生成随机数的最佳方法是什么?
最佳答案
您应该使用 <random>
:
#include <random>
typedef std::mt19937 rng_type;
std::uniform_int_distribution<rng_type::result_type> udist(0, 7);
rng_type rng;
int main()
{
// seed rng first:
rng_type::result_type const seedval = get_seed(); // get this from somewhere
rng.seed(seedval);
rng_type::result_type random_number = udist(rng);
return random_number;
}
在 C++11 之前,您可以在 TR1(<tr1/random>
、std::tr1::mt19937
等)或 Boost.random 中找到它,它们的界面基本相同(尽管存在细微差别)。
关于c++ - 在 C++ 中生成随机数的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9471604/