Je veux utiliser la structure de données qui sert comme .Net HashSet, j'ai essayé d'utiliser unordered_set avec la méthode de hachage par défaut et comparateur personnalisé comme suit:unordered_set des exigences TCHAR *?
struct comparer
{
bool operator()(const TCHAR* first,const TCHAR* second) const
{
return _tcscmp((TCHAR*)first,(TCHAR*)second) == 0;
}
};
typedef unordered_set<const TCHAR*,hash<const TCHAR*>,comparer> HashSet;
le problème est quand j'ai essayé d'utiliser le HashtSet pour trouver clé spécifique (en utilisant find
méthode) que je viens d'ajouter en utilisant insert
il renvoie HashSet::end()
!!
Pourriez-vous expliquer quel est le problème? J'utilise VC++ sous VS2010
Pourquoi avez-vous besoin de rejeter les consts pour '_tcscmp()'? Cela ne devrait pas être nécessaire. – Rup
Devin non renseigné: 'hash <>' est un hachage de la valeur du pointeur et non de la chaîne. Mais je ne connais pas les classes TR1. – Rup
@Rup: Je pensais ça mais je veux être sûr! –