Les pointeurs comme clés dans la carte C++ STL

J'ai une question sur comment pointeurs pour un objet personnalisé sont traités lorsqu'ils sont utilisés comme Clés dans une carte. Plus précisément, si je définir

std::map< CustomClass*, int > foo;

Serait la valeur par défaut C++ mise en œuvre pour gérer ces pointeurs? Ou ai-je besoin de définir une coutume comparateur de fonction pour gérer cela? En général, il est de bonne pratique d'utiliser des pointeurs vers des objets comme des clés?

  • Tout ce qui soutient less<T> peut être utilisé dans une carte. Voir stackoverflow.com/questions/1098966/...
  • Un inconvénient possible en utilisant des indicateurs clés dans les cartes, c'est que l'ordre des éléments est non-déterministe (dépend de leur adresse de mémoire). Si vous avez besoin d'itérer sur les éléments d'un déterministe de l'ordre, vous ne pouvez pas utiliser les pointeurs comme des clés. Cela peut être important dans les jeux multijoueurs.
InformationsquelleAutor Ammar Husain | 2014-08-04