Bonjour,
J'aimerai savoir qu'elle est la méthode "propre" pour gérer une liste de message. Je m'explique.
J'ai une classe "Message" qui représente un message unitaire.
J'ai une classe "BoiteALettre", qui contient une std::list<Message>, une méthode pushMessage et une methode popMessage (Je simplifie, le projet est plus complexe)
Et j'ai mon thread "main", qui va aller lire toutes les secondes si un message a été posté.
Venant du monde php, ce qui me serait naturel, c'est que la methode popMessage retourne le dernier message s'il y en a, et null s'il n'y en a pas. Or, si elle retourne un message, elle ne peut pas retourner null.
Donc je me demande qu'elle est la meilleure méthode pour gérer ça :
- Solution 1) une première methode "hasMessage" qui va d'abord vérifier s'il y a un message (solution éliminée, j'ai besoin d'être thread safe et ça va me poser des problèmes d'avoir plusieurs méthodes)
- Solution 2) ma liste ne stocke pas des "Message" mais des "*Message", du coup, je peux retourner NULL, mais le risque de fuite de mémoire, et autre bizarerie mémorielle me fait un peu peur (C'est pour l'instant la solution retenue)
- Solution 3) J'ai entendu parler d'Event, mais je n'y connais rien.
- Solution 4 ) Mon objet Message contient un champ "EstVide", qui me précise si mon objet est à traiter ou pas quand je le récupère. Ca marche, mais je trouve ça porc.
- Solution 5 ) ?
Merci d'avance !
Partager