我在实用程序命名空间中创建了一个函数来生成一个随机数,以防止重复的代码片段。不幸的是,它不是随机的,因为它每次调用时都会重新初始化变量,因此当我循环某些东西时,它会从时间(0)得到相同的输出,因此值相同。
由于我的经验有限,我不知道如何修复它,因为单身人士因为不是一个班级而无法申请。
#ifndef UTILS_INT_HEADER_INCLUDED
#define UTILS_INT_HEADER_INCLUDED
#include <iostream>
#include <random>
#include <ctime>
namespace utils
{
static int random(int min, int max, int seed) {
std::default_random_engine generator;
generator.seed(seed);
std::uniform_int_distribution<int> dist(min, max);
return dist(generator);
}
static int random(int max) {
return random(0, max, time(0));
}
static int random(int min, int max) {
return random(min, max, time(0));
}
}
#endif