为什么标准分布的结果不需要在不同实现之间保持一致?而伪随机数生成器的结果则必须相同。
例如,对于每个不同的标准库实现,以下代码几乎肯定会打印出不同的结果。
std::mt19937 random {100};
std::normal_distribution<> dist;
std::cout << dist(random);
假设我想进行程序生成,并希望相同的起始种子能在不同平台和编译器上产生相同的结果。然而,使用STL无法实现这一点,必须“退回”使用boost。为什么这不是一个缺陷?