Edit

stdext namespace

Note

The stdext namespace and the <hash_map> and <hash_set> headers were removed in MSVC Build Tools version 14.51.

Members of the <hash_map> and <hash_set> header files aren't currently part of the ISO C++ standard. To stay conformant with the C++ standard, the compiler moved these types and members from the std namespace to the stdext namespace.

When you compile with /Ze, which is the default, the compiler warns you if you use std for members of the <hash_map> and <hash_set> header files. To disable the warning, use the warning pragma.

To make 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 you compile with /Za, the compiler generates an error.

See also

C++ Standard Library Overview