我需要用 srand 生成一个随机数。我用过:
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1,6);
int dice_roll = distribution(generator); // generates number in the range 1..6
但它一直生成相同的数字。
最佳答案
使用随机设备从运行时(从操作系统)获取随机初始化
std::random_device rand_dev;
std::default_random_engine generator(rand_dev());
请注意,您也可以选择自己的种子:
std::default_random_engine generator(3752);
关于c++ - 生成没有srand的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33970869/