Tôi hiểu rằng STL của tôi (đi kèm với g ++ 4.x.x) sử dụng cây đỏ đen để triển khai các vùng chứa như bản đồ. Có thể sử dụng trực tiếp cây đỏ đen bên trong của STL không. Nếu vậy, làm thế nào? Nếu không, tại sao không - tại sao STL không phơi bày cây đỏ-đen?Sử dụng thực thi nội bộ của cây đỏ-đỏ STL
Đáng ngạc nhiên, tôi không thể tìm thấy câu trả lời bằng google.
Chỉnh sửa: Tôi đang điều tra bằng cách sử dụng cây đỏ đen làm giải pháp cho lời gọi hàm tạo bổ sung của trình tạo phân bổ bổ sung. Xem this question. STL của tôi sử dụng cây đỏ đen để thực hiện bản đồ.
"Tôi đang điều tra bằng cách sử dụng cây đỏ đen làm giải pháp cho cuộc gọi hàm tạo bổ sung cấp phát khi chèn". Một giải pháp thích hợp sẽ là sử dụng triển khai các vùng chứa tiêu chuẩn không có thuộc tính này. C++ 11 yêu cầu các trình cấp phát trạng thái, vì vậy bất kỳ thư viện chuẩn nào hỗ trợ đúng tính năng C++ 11 này sẽ có hành vi hợp lý hơn (mặc dù nó vẫn sẽ xây dựng các cá thể cấp phát khác nhau, nó sẽ chỉ làm như vậy từ đối tượng cấp phát ban đầu). –
@Prasoon - Nó sẽ không giúp bạn ở đây, bởi vì nó là thực hiện cây cơ bản mà các nhà xây dựng gọi anyway. Thử một trình biên dịch mới hơn gcc 4.1 sẽ là một tùy chọn (câu hỏi trước [Bộ cấp phát bộ nhớ tùy chỉnh cho bản đồ STL] (http: // stackoverflow.com/questions/11373796/custom-memory-allocator-cho-stl-map)) –