The D programming language is an interesting alternative to C++ as being also natively compiled. Let us look at some of D constructs from a C++ perspective, to prove their usefulness. Then a few words will be said about the garbage collector in D, and why it's still considered a controversial feature.
C++ evolves and wants you to switch to using unordered_map. Be aware though that this is not an exact substitute for hash_map! Const char* users are left behind unless they help themselves.