Bố cục điển hình của std::unordered_map<K, V>
là gì? Có phải các đối tượng K
và V
được lưu trữ trong chính các nhóm hay làm các con trỏ lưu trữ các nhóm đến các nút chứa các khóa và giá trị?C++: là std :: unordered_map được bảo đảm là dựa trên nút?
Tôi đang cố gắng tìm hiểu ý nghĩa hiệu suất của việc sử dụng std::unordered_map<K, V>
so với std::unordered_map<K, V*>
. Giả sử tôi chỉ bao giờ emplace và tìm kiếm các giá trị, là có bất kỳ lý do để thích thứ hai, ngay cả khi các giá trị khá lớn? Lý do duy nhất tôi có thể tưởng tượng là nếu các giá trị được lưu trữ trong dòng trong các thùng và cần phải được phân bổ lại mỗi khi vùng chứa được khôi phục.
Có điều gì trong tiêu chuẩn đảm bảo điều này sẽ không xảy ra không?
Chúng là nút dựa. C++ 17 thậm chí cho thấy các nút điều khiển. –