Tại sao tăng :: fast_pool_allocator được xây dựng trên đầu trang của một hồ bơi đơn, và không phải là một hồ bơi riêng biệt cho mỗi cá thể cấp phát? Hoặc để đặt nó một cách khác, tại sao chỉ cung cấp đó, và không phải là tùy chọn có một hồ bơi cho mỗi cấp phát? Có phải đó là một ý tưởng tồi?boost pool_alloc
Tôi có một lớp sử dụng nội bộ khoảng 10 loại tăng khác nhau :: unordered_map. Nếu tôi đã sử dụng std :: allocator thì tất cả bộ nhớ sẽ quay trở lại hệ thống khi nó được gọi là delete, trong khi bây giờ tôi phải gọi release_memory trên nhiều kiểu phân bổ khác nhau tại một số điểm. Tôi có phải là ngu ngốc để cuộn phân bổ của riêng tôi sử dụng hồ bơi thay vì singleton_pool?
nhờ
Hmm, lỗi vào thùng rác bình luận cuối cùng của tôi. Cảm ơn lời giải thích. Có lẽ tôi có thể lấy đi với nó nếu tôi dính vào sử dụng unordered_map, và tránh unordered_map :: operator = hoặc unordered_map :: swap –
Điều này thực sự sẽ thay đổi trong C++ 0x. –