Je me demandais s'il était possible de créer une structure contenant un certain nombre de variables et une carte dans une carte.Struct contenant une carte dans une carte? (C++/STL)
Ce que j'ai en ce moment:
typedef std::map<std::string,double> lawVariables;
struct ObjectCustomData {
std::string objectType;
bool global_lock;
std::map<std::string, lawVariables> lawData;
};
Ce struct est ensuite transmis à une autre fonction comme un seul bloc de données pour cet objet.
La configuration de la structure est la suivante: Chaque objet dispose d'un bloc de données qui contient: son TypeObjet, un bool pour une serrure, et un nombre variable de « lois » qui pourrait ressembler à ceci:
law1 -> var_a = 39.3;
-> var_g = 8.1;
law8 -> var_r = 83.1;
-> var_y = 913.3;
-> var_a = 9.81;
Premièrement, je ne sais pas si je devrais utiliser une carte dans une carte et deuxièmement, même si cela est valide, je ne sais pas comment le remplir avec des données et comment le rappeler par la suite. J'ai regardé des cartes parce que je peux alors rechercher (sur un nom) si un certain objet a une certaine loi, et si cette loi a certaines variables.
(désolé pour la première apparition post-désordre, espérons que cela est mieux :))
@aJ - Lorsque j'essaie de compiler votre méthode de test, j'obtiens "error: no match for 'operator []' dans 'data [" law_1 "]'. Est-ce qu'il compile pour vous? J'utilise le compilateur g ++ en cygwin – dcp
désolé.La première ligne aurait dû être data.lawData ["law_1"]; pls se référer à mon édition –
Merci beaucoup pour les réponses, tous les deux!: D – Karrok