发布于 2022-05-19 04:56:04
我不得不编写这样一个包装类:
struct Generator{
Generator() : val(0), count(0) {}
Generator(std::mt19937&& aGen) : val(0), count(0), theGen(aGen) {}
long long int operator()(void){
val = theGen();
std::cout << val << " " << count << std::endl;
++count;
return val;
}
long long int max(){return theGen.max();};
long long int min(){return theGen.min();};
long long int val;
size_t count;
std::mt19937 theGen;
};
来对我的编译器如何实现normal_distribution进行一些反思。
要想看到它的实际效果,您必须按照以下思路写一些东西:
std::normal_distribution<> dis(1.0, 2.0);
Generator gen(std::mt19937 (42));
dis(gen);
迭代地调用dis(gen);
可能具有指导意义
https://stackoverflow.com/questions/34485220
复制