1) i guess u_int8_t is a unsigned char type, in that case, if you output a char, 10 will be the ASCII character of the char... however, 10 in ASCII is not a real character.... so you'll not get anything in command line if you use 10...
2) Since hash_map is not part of the standard STL, there are certain other parts of the STL that it doesn't work with. You need to supply some extra code yourself, for the hash function to work correctly with other parts of the STL, which are standard across all implementations.
hope these answered your question