2017-05-29 2 views
0

Je regardais Two dimensional unordered_map et vuQu'est-ce que cela signifie d'avoir void * comme second paramètre de template d'un std :: unordered_map?

typedef std::pair<int,int> Coordinates; 
typedef std::unordered_map<Coordinates,void *> TwoDimensionalNodes; 

Qu'est-ce que cela signifie d'avoir un void* comme second paramètre du modèle?

J'ai regardé cppreference.com bien sûr et trouvé aucune mention de void.

+0

Le deuxième paramètre est 'T' - type de valeur d'élément. – VTT

+2

'void *' est juste un type de pointeur générique, il n'a rien à voir avec 'unordered_map' en particulier, il est simplement utilisé comme un type de valeur ici comme n'importe quel autre type peut être – Ap31

+2

http://en.cppreference.com/ w/cpp/language/pointer # Pointers_to_void – donkopotamus

Répondre

1

Le deuxième modèle de rubrique est le type mappé. En spécifiant void*, vous créez une carte dans laquelle vous pouvez stocker des objets de type void*.

+0

Agh, bien sûr. Je l'ai surmonté. –