У меня есть код C ++, который сильно зависит от выборки (с использованием rand ()), но я хочу, чтобы он был воспроизводимым. Итак, вначале я инициализирую srand () случайным семенем и распечатываю это семя. Я хочу, чтобы другие могли снова запустить тот же код, но инициализировать srand () с тем же семенем и получить точно такой же ответ, как и я.
Но при каких обстоятельствах это гарантировано? Я полагаю, это работает, только если двоичные файлы скомпилированы одним и тем же компилятором в одной системе? Какие еще факторы могут привести к тому, что ответ будет отличаться от того, который я получил изначально?
x = 1; y = x+1; print y;
. Тема B:y = 1; x = y+1; print x;
. Эта программа может давать много разных результатов, но состоит только из двух детерминированных потоков. Вероятно, каждый раз при запуске вы будете получать разные результаты. - person Borealid   schedule 08.08.2010