我知道伪随机数生成器只应该用一个种子初始化一次。然而,在C++中,随机数发生器和分布是分开的。
现在,应该只创建一次分发函数对象吗?还是没什么关系?我的意思是,在从分布生成随机数时,将分发对象创建调用放在内部还是外部是否重要。或者不重要,因为分布函数只将生成器映射到一个数字。
我之所以问这个问题,是因为我使用生成器来生成来自几个不同发行版的数字,最好将分布函数对象创建调用放在每个函数中,并共享相同的随机数生成器。
int main()
{
boost::mt19937 rng(2);
//inside the function
rn_int_1(rng);
r