Để giải quyết vấn đề này, thật thuận tiện khi sử dụng hàm băm trả về một giá trị duy nhất cho mỗi hàng (băm).
C++11 có một tiện ích tích hợp sẵn để lấy hàm băm: hàm băm.
Trong tương lai, để đếm số lần băm, tốt hơn là sử dụng bảng băm unordered_map, cũng xuất hiện trong C++ 11. Bạn có thể tìm hiểu thêm về cách sử dụng bản đồ trong khóa học Cấu trúc dữ liệu động -> Mảng kết hợp: bản đồ.
Ví dụ về cách lấy hàm băm từ chuỗi "test":
hash<string> hash_fn;
size_t str_hash = hash_fn("test" );
cout<<str_hash;
Kết quả sẽ là: "2949673445", do đó, từ mỗi chuỗi duy nhất, bạn có thể nhận được một hàm băm duy nhất có thể được sử dụng làm khóa trong unordered_map.