stdext Namespace
Members of the <hash_map> and <hash_set> header files are not currently part of the ISO C++ standard. Therefore, these types and members have been moved from the std
namespace to namespace stdext
, to remain conformant with the C++ standard.
When compiling with /Ze, which is the default, the compiler warns on the use of std
for members of the <hash_map> and <hash_set> header files. To disable the warning, use the warning pragma.
To have the compiler generate an error for the use of std
for members of the <hash_map> and <hash_set> header files with /Ze, add the following directive before you #include
any C++ Standard Library header files.
#define _DEFINE_DEPRECATED_HASH_CLASSES 0
When compiling with /Za, the compiler generates an error.