Changed nothrow to std::nothrow.
Removed include of string.h
Changed map to std::map.
Changed printf to cout.
More additions.