Tiêu đề <hash_map>
không phải là một phần của tiêu chuẩn C++ và là một triển khai cụ thể cho trình biên dịch. Không có đảm bảo rằng bạn sẽ có thể tìm thấy nó trên bất kỳ hệ thống cụ thể, hoặc rằng các triển khai khác nhau phát sinh trên mỗi hệ thống sẽ được tương thích lẫn nhau với nhau.
Nếu bạn muốn sử dụng bản đồ băm trong C++, bạn có thể muốn xem xét boost::unordered_map
, tr1::unordered_map
hoặc bản trình diễn mẫu C++ 0x của std::unordered_map
. Các triển khai này được chuẩn hóa khá, hoặc bằng ISO hoặc bởi cộng đồng Boost, và có thể dễ dàng cài đặt trên hầu hết các trình biên dịch C++. Tôi biết rằng có một chút tự mãn khi tôi nói "hãy viết lại mã này bằng cách sử dụng một thư viện khác", nhưng cho rằng C++ sắp lấy được các thùng chứa băm của biểu mẫu này, đó có thể là một đầu tư đáng giá.
Tôi vẫn nhận được "băm_map" không được khai báo trong phạm vi này "sau khi đã làm theo hướng dẫn của bạn. –
Bạn đã sử dụng 'sử dụng không gian tên __gnu_cxx;' hoặc '__gnu_cxx :: hash_map'? –
cảm ơn bạn. giải quyết. –