stdext, espace de noms
Les membres des fichiers d'en-tête <hash_map> et <hash_set> ne font pas actuellement partie de la norme ISO C++. Par conséquent, ces types et membres ont été déplacés de l'espace de noms std à l'espace de noms stdext, pour rester conforme à la norme C++.
Lorsque vous compilez avec /Ze, qui est la valeur par défaut, le compilateur signalera l'utilisation de std pour les membres des fichiers d'en-tête <hash_map> et <hash_set>. Pour désactiver l'avertissement, utilisez le pragma 2c8f766e(v=vs.120).md.
Pour que le compilateur généère une erreur pour l'utilisation de std pour les membres des fichiers d'en-tête <hash_map> et <hash_set> avec /Ze, ajoutez la directive suivante avant d'inclure tout les fichiers d'en-tête de la bibliothèque C++ standard.
#define _DEFINE_DEPRECATED_HASH_CLASSES 0
Lorsque vous compilez avec /Za, le compilateur génère une erreur.