Bonsoir
Je suis actuellement en train de créer une classe qui possède des instances d'une autre classe. Mon problème est que je dois pouvoir accéder à ces instances de deux manières qui semblent a priori contradictoires :
- accès par clé textuelle (comme pour une map)
- parcours des objets dans l'ordre dans lequel ils ont été insérés (comme pour un vector)
Pour faire ça, la seule solution que j'ai trouvée est de dénormaliser : j'ai une map et un vector qui évoluent en même temps. Le vector contient les objets eux-même, la map associe des clés textuelle à des pointeurs vers les objets contenus dans le vector. Je précise que seule l'opération push_back est utilisée sur le vecteur, les pointeurs vers ses objets restent donc valides (enfin je crois )
J'aurais voulu savoir s'il existait une manière plus élégante (et moins risquée !) de faire ça, avec une seule et même classe ? Est ce que quelque chose est prévu pour ça dans la STL ?
Merci d'avance
Partager