Je ne suis pas très utilisé pour la programmation avec des drapeaux, mais je pense que je viens de trouver une situation où ils seraient utiles:Drapeaux, ENUM (C)
J'ai deux objets qui s'inscrire en tant qu'auditeurs de certains événements. Les événements auxquels ils s'inscrivent dépendent d'une variable qui leur est envoyée lors de leur construction. Je pense qu'une bonne façon de le faire serait d'envoyer des variables OU connectées au bit, comme ceci: TAKES_DAMAGE | GRABBABLE | LIQUID, etc. Ensuite, dans le constructeur, l'objet peut vérifier quels drapeaux sont définis et s'enregistrer comme écouteur pour ceux qui le sont.
Mais c'est là que je suis confus. De préférence, les drapeaux seraient dans une énumération. Mais c'est aussi un problème. Si nous avons ces drapeaux:
enum
{
TAKES_DAMAGE,/* (0) */
GRABBABLE, /* (1) */
LIQUID, /* (2) */
SOME_OTHER /* (3) */
};
Puis envoyez le SOME_OTHER drapeau (3) sera le même que l'envoi GRABBABLE | LIQUIDE, n'est-ce pas?
Comment gérez-vous exactement ce genre de choses?
@jldupont - Je crois que vous vouliez dire "opérateur shiFt"? 8v) –
@jldupont Je pense qu'il te manque une lettre ... – Greg
Je ne pense pas avoir reçu 5 réponses simultanément. o.o Merci pour l'excellente explication et la solution. – quano