Tôi muốn có thể lưu và tải trạng thái của RNG để tôi có thể tái tạo các giá trị ngẫu nhiên giống nhau từ một điểm nhất định (lưu ứng dụng/ảnh chụp).C++ std :: mt19937 và trạng thái rng lưu/tải & tính di động
Tôi thấy có một toán tử < < và >> quá tải, dường như lưu vào chuỗi dưới dạng chuỗi số.
- Đó có phải là cách tốt nhất/duy nhất để lưu không? Tôi sẽ không nhớ chỉ có giá trị trạng thái nhị phân cố định kích thước không phải là điều chuỗi ký tự cách nhau mà sau đó tôi cần tiền tố hoặc đặt dấu phân cách xung quanh cho định dạng tệp của tôi.
- Đây có phải là tất cả di động không? ví dụ. Tôi có thể chuyển đổi giữa các phiên bản trình biên dịch khác nhau hay thậm chí giữa MSVC và GCC để tạo ra cùng một tập dữ liệu cho các bản phân phối được định cấu hình (với một sai số nhỏ trong trường hợp dấu phẩy động và chính xác cho phép toán số nguyên) không?
OK, dường như các thuật toán phân phối là thực hiện được xác định, vì vậy sẽ phải nguồn của riêng tôi ... Vì vậy, đó là một ngôn ngữ chung của họ được sửa chữa hoàn toàn để dễ dàng áp dụng cho luồng (ví dụ: std :: stringstream)? Có lẽ tôi sẽ phải quay trở lại Boost.Random mặc dù tôi nghĩ rằng chỉ có điều này gây phiền nhiễu dòng là tốt. –
@FireLancer có, bạn có thể thấm nhuần miền địa phương trước khi mở/ra, xem http://www.cplusplus.com/reference/ios/ios/imbue/ –