Xác nhận của tài liệu tuần tự hóa tăng khẳng định rằng cách sắp xếp/deserialize các mục đang sử dụng lưu trữ nhị phân/văn bản với luồng trên cấu trúc bên dưới. Điều này làm việc tốt nếu tôi wan't sử dụng dữ liệu serialized như là một std :: string, nhưng ý định của tôi là chuyển đổi nó trực tiếp vào một bộ đệm char *. Làm thế nào tôi có thể đạt được điều này mà không cần tạo một chuỗi tạm thời?Nối tiếp tăng tiếp trực tiếp vào mảng char
Giải quyết! Đối với những người muốn có ví dụ:
char buffer[4096];
boost::iostreams::basic_array_sink<char> sr(buffer, buffer_size);
boost::iostreams::stream< boost::iostreams::basic_array_sink<char> > source(sr);
boost::archive::binary_oarchive oa(source);
oa << serializable_object;
Mặt khác, tại sao bạn sẽ từ bỏ việc quản lý bộ nhớ miễn phí và rò rỉ rủi ro và tràn ngập :)? –
Đáng buồn thay, vì các vấn đề về hiệu suất: ( – scooterman