Подтвердить что ты не робот

Стандарт С++ 11 гарантирует идентичные случайные числа для одного и того же семени в реализациях?

Например, если я создаю экземпляр std::mt19937 с тем же самым семенем и параметрами в GCC и под MSVC, должен ли я получить одну и ту же последовательность случайных чисел? Если это так, я предполагаю, что это свойство будет сохраняться для mersenne_twister_engine вообще, так как mt19937 является только одним с определенными параметрами. Это не верно для rand() в C. Похоже, что стандартные документы преобразуются с использованием определенного кода, поэтому я подозреваю, что он всегда должен быть одним и тем же, но дьявол находится в деталях...

4b9b3361

Ответ 1

Для новых двигателей с числовыми номерами да, для тех же семян и параметров вы получите одну и ту же последовательность значений на всех платформах. Для rand(), no. У вас также нет этой гарантии с распределением случайных чисел, даже если они получают одну и ту же последовательность входных значений.