我需要用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
但它一直生成相同的数字。
答案 0 :(得分:1)
使用随机设备从运行时(来自操作系统)获取随机初始化
std::random_device rand_dev;
std::default_random_engine generator(rand_dev());
注意,也可以选择自己的种子:
std::default_random_engine generator(3752);