【发布时间】:2019-02-22 08:59:18
【问题描述】:
我正在尝试将种子设置为 c++ std::default_random_engine:
#include<random>
#include<time.h>
#include<iostream>
using namespace std;
void print_rand();
int main() {
for (int i{0}; i < 20; ++i) {
print_rand();
}
return 0;
}
void print_rand() {
default_random_engine e;
e.seed(time(0));
cout << e() << endl;
}
打印出来的数字好像是一样的,怎么设置种子根据时间生成随机数呢?
【问题讨论】:
-
using rand to generate a random numbers 的可能重复项,每次调用的播种问题相同。
-
@Kit。是的,每次打印的时间(NULL)都是一样的。
-
@Kit.为什么 time(0) 每次都会给我相同的值?
-
因为时间以秒为单位还是一样?