Có một số "tiêu chuẩn" container (STL, tăng) có thể trình bày nhiều khối bộ nhớ như một liên tục duy nhất? Tôi cần phải làm việc với một số dữ liệu với điều kiện sau:Container để trình bày nhiều khối bộ nhớ như một liên tục duy nhất
- Tổng kích thước của dữ liệu không được biết trước (phản ứng web)
- Memory được phân bổ trong khối (với một số chức năng phân bổ bên ngoài, mà tôi đã không kiểm soát của)
- Memory giải phóng không được kiểm soát bởi tôi, vì vậy tái phân bổ tương đối đắt
vì vậy, sau khi nhận được tất cả các dữ liệu, tôi có một danh sách các khối bộ nhớ. Và tôi cần phải áp dụng một số thuật toán STL (tìm kiếm, sao chép, vv) cho toàn bộ dữ liệu. Có một giải pháp để viết container để giữ thông tin về các khối này + iterator chuyển tiếp có khả năng "nhảy" từ đoạn này sang đoạn khác.
Nhưng vấn đề có vẻ khá chung chung, vì vậy tôi hy vọng rằng có một số câu trả lời nổi tiếng mà tôi đang thiếu. Cảm ơn trước.
Tôi hoàn toàn đồng ý rằng tôi cần một iterator và tôi đã đề cập nó như là một giải pháp có thể. Nhưng sử dụng một iterator mà không có một container trông lạ đối với tôi. Bởi vì tôi nên lấy 'begin()' và 'end()' của mình bằng cách nào đó, vì vậy đóng gói những thứ này trong container có vẻ tự nhiên. Có lẽ từ _container_ bị lạm dụng ở đây bởi tôi.Tôi không nói về khái niệm container STL nhưng về một số "chủ" cho các khối riêng biệt mà sẽ đóng gói chúng. Tôi chỉ có hy vọng rằng tôi không nên tự mình thực hiện những thứ này. Dù sao, cảm ơn cho một câu trả lời. –
"_Container_" được xác định rõ trong C++ (chương 23 của tiêu chuẩn). – MSalters