J'ai une structure Message
que j'utilise avec un bus de message, et je voudrais envoyer des données avec des messages. Le problème est que les données varient en type; peut-être pour un message je veux juste envoyer un int, mais pour un autre je vais vouloir envoyer plusieurs ints, une chaîne, peut-être même un pointeur vers un objet par exemple. Je pouvais faire quelque chose comme ceci:STL Container pour stocker plusieurs types de valeurs?
struct Message {
std::map<int, int> intPayload;
std::map<int, std::string> strPayload;
short id;
};
Mais non seulement est-ce laid et sale, et les déchets probablement espace, mais cela ne compte pas si je veux passer un type de données relativement exotiques comme un pointeur à une instance d'une classe par exemple. Que devrais-je utiliser pour cela?
Utilisation de l'héritage et des pointeurs vers la classe de base et des fonctions virtuelles? –
Ma première estimation serait le polymorphisme si possible dans votre situation. – DeiDei
@DeiDei Je suis un peu confus, d'après ma compréhension du polymorphisme a à voir avec l'héritage de classe/structure, comment le polymorphisme aiderait-il ici? – Accumulator