cuốn sách gpt4 ai đã làm

Kết nối C++ của CStrings lớn

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 08:24:48 28 4
mua khóa gpt4 Nike

Tôi gặp sự cố khi ghép các CString lớn trong cơ sở mã kế thừa. CString có thể chứa các tệp được mã hóa base64 và do đó có thể lớn. Tại một thời điểm nào đó, các CString này sẽ được nối với nhau như thế này:

result += CString(_T("Một số chuỗi nhỏ hơn")) + Huge_CString + _T("Một số chuỗi nhỏ hơn");

Điều này dẫn đến việc phân bổ nhiều lần và do đó chúng tôi gặp phải tình trạng tăng đột biến bộ nhớ rất lớn. Mặc dù việc này được thực hiện song song trên nhiều luồng cho các tệp khác nhau. Nếu tất cả chúng được kết hợp lại thì tôi sẽ có một "ngoại lệ bộ nhớ".

Cách tốt nhất để xử lý vấn đề này là gì. Nếu tôi có thể giảm số lượng phân bổ thì điều đó sẽ hữu ích. Bây giờ tôi không tìm kiếm một giải pháp hoàn hảo mà là tìm cách giảm bớt đỉnh điểm.

câu trả lời hay nhất

Để chỉnh sửa các chuỗi lớn, bạn có thể muốn sử dụng các loại không liền kề dây thừng hoặc unencoded_rope - Loại chuỗi chi phí thấp, sao chép khi ghi hoặc chèn vào giữa.

Về việc ghép C++ của CStrings khổng lồ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/51750936/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress