У меня есть класс, который реализует std::mt19937, и я хотел бы иметь возможность сохранять и загружать состояние генератора случайных чисел для согласованности. Я знаю, что операторы ‹‹ и >> можно использовать для сохранения/загрузки состояния движка и что я могу разделить функции сохранения и загрузки при архивировании файла, если это необходимо. Мое предположение о том, как это сделать, состоит в том, чтобы использовать операторы ‹‹ и >> для сохранения состояния в/извлечения состояния из объекта, который может быть сериализован. Мои вопросы
- Какой объект можно использовать для хранения состояния mersenne_twister_engine, которое также можно сериализовать с помощью Boost?
- Является ли мой подход безопасным и считается ли он хорошей практикой?
- Есть ли подход к этому, который обычно считается лучшим?