为什么要增加RNG种子?

时间:2018-06-25 07:56:44

标签: random

我已经看到了以下类型的代码(在单元测试中),我想知道它背后的动机是什么:

int seed = GetMySeed()
Something(seed++)
SomethingElse(seed++)
YetSomethingElse(seed++)

现在,如果调用的三个函数相同,那么我可以在需要的情况下成像场景,例如创建具有不同种子的对象的多个实例。但是,在我看来,种子的直接修改感觉很不好,因为它对函数调用的顺序产生了不必要的依赖。即使我有修改种子的理由,对我来说写也更自然:

int seed = GetMySeed()
TheSameThing(seed)
TheSameThing(seed + 1)
TheSameThing(seed + 2)

增加种子的原因可能是什么?

编辑:还假设在第一个示例中,Something,SomethingElse和YetSomethingElse本质上是独立的,即它们不以它们共享的状态运行(显然,seed除外)。

0 个答案:

没有答案