【发布时间】:2020-06-29 04:34:59
【问题描述】:
我的程序如何在每次执行时生成不同的随机数?
我正在尝试执行以下程序
#include <random>
#include <iostream>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(1, 100);
//Matrix 8x4 size declaration
int16_t **mtr = new int16_t*[8];
for (size_t i = 0; i < 8; i++) {
mtr[i] = new int16_t[4];
for (size_t j = 0; j < 4; j++)
mtr[i][j] = dis(gen);
}
//... more code
}
一切正常,但是每次我执行这个程序时,生成的数字都是一样的。我尝试使用 <ctime> 库并且它有效(我知道它不安全......)
注意:执行是指每次调用可执行文件时
【问题讨论】:
-
您使用的是什么标准库实现?如果您不知道什么 OS/IDE/编译器?
-
这能回答你的问题吗:stackoverflow.com/questions/18880654/…