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