J'ai un petit problème en C++ je ne sais pas comment résoudre. La première partie du problème consiste à accéder à un élément dans une structure via [], ou mieux, pour mapper [] à un sous-élément.C++ [] mappage, éventuellement à travers des modèles
Mon struct ressemble à ceci:
struct e {
std::string content;
std::string name;
std::map<std::string, std::vector<e> > elements;
};
Si je veux accéder à un sous-élément e, je peux le faire comme ceci: e.elements["e1"][0].elements["e1sub"][0].content
, serait-il possible de cartographier ce que je peux appeler comme ça : e["e1"][0]["e1sub"][0]
, cela signifierait juste qu'il doit "remplacer" chaque e [] par e.elements [].
Peut-être que cela peut être fait avec des modèles mais je ne sais pas encore comment les utiliser car je commence à peine à apprendre le C++.
Merci d'avance pour toute aide, Robin.
est-ce pas un vecteur '' techniquement illégal dans les 'struct e' (vecteur de type incomplet, mais en fonction des détails de mise en œuvre, vous pouvez sortir avec elle)? –
visitor
Recommande de faire de 'elements' un membre privé/protégé en plus de toutes les suggestions données ci-dessous – Chubsdad