C++ 生成不带srand的随机数

C++ 生成不带srand的随机数,c++,random,C++,Random,我需要用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::默认随机引擎生成器; 标准:均匀分布(1,6); int dice_roll=分配(生

我需要用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::默认随机引擎生成器;
标准:均匀分布(1,6);
int dice_roll=分配(生成器);//生成范围为1..6的数字

但它不断产生相同的数字

使用随机设备从运行时(从操作系统)获取随机初始化

注意,也可以选择自己的种子:

std::default_random_engine generator(3752);

如果没有srand,它将始终生成相同的数字序列。在中,您需要一个
std::random_设备来初始化随机引擎。如何初始化该随机设备?@OfirNissim链接文档中有一个示例。@πάνταῥεῖ 非常感谢你,伙计,这很有效!!
std::default_random_engine generator(3752);