重複の可能性:
rand() で常に同じ乱数列を取得するのはなぜですか?
特定の範囲のランダムな整数に対して、次のジェネレーター クラスを実装しようとしました。
class RandomInteger {
protected:
std::default_random_engine randomEngine;
std::uniform_int_distribution<> distribution;
public:
RandomInteger(int64_t lower, int64_t upper);
virtual ~RandomInteger();
virtual int64_t generate();
};
RandomInteger::RandomInteger(int64_t lower, int64_t upper) : distribution(lower, upper) {
}
RandomInteger::~RandomInteger() {
// TODO Auto-generated destructor stub
}
int64_t RandomInteger::generate() {
int64_t i = this->distribution(this->randomEngine);
return i;
}
範囲内の整数を生成しますが、生成する値のシーケンスは毎回同じで、あまりランダムではありません。なんで?