据我了解,当用于提取随机数时,分布不应改变。例如,对于均匀分布,当我们使用它生成随机数时,它的最小值/最大值不应改变,那么为什么 operator()不是 const 吗?
最佳答案
虽然 min()
和 max()
不会改变,但分布可能包含有助于生成下一个值的状态。如果 operator()
为 const
,则在不保证对象是线程安全的情况下无法修改此状态。提供这种保证可能会很昂贵,而且发行版应该是轻量级的。
关于c++ - 为什么 std::uniform_int_distribution<IntType>::operator() 不是 const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58192469/