【问题标题】:Is the algorithm behind std::seed_seq defined?是否定义了 std::seed_seq 背后的算法?
【发布时间】:2015-10-22 13:49:35
【问题描述】:

标准是否要求seed_seq 的输出对于stl 的不同实现是相同的?换句话说,以下是否保证在不同的标准兼容平台上产生相同的输出?

std::seed_seq sseq = { 1701, 1729, 1791 };
std::array<unsigned int, 5> seq;
sseq.generate(seq.begin(), seq.end());
for (unsigned x : seq)
   std::cout << x << " " << std::endl;

【问题讨论】:

    标签: c++ c++11 random stl


    【解决方案1】:

    是的。该算法定义在 23.54.7.1 [rand.util.seedseq]

    将其作为图像发布,因为它失去了文本格式

    【讨论】:

    • @SingerOfTheFall 对不起。我想不出一种将其格式化为文本的方法,并让它看起来与标准中的一样。我确实提到这是一张图片。
    • 验证 boost 1.52 和 msvc2013 使用该实现(或非常相似的实现),至少乍一看。谢谢。
    • 没什么好遗憾的,出于某种原因,我没有想到由于格式的原因,制作这部分的屏幕截图更容易:)
    猜你喜欢
    • 2017-06-27
    • 2019-03-31
    • 1970-01-01
    • 2014-03-01
    • 2013-08-25
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2010-09-15
    相关资源
    最近更新 更多