no estoy muy acostumbrado a la programación con banderas, pero creo que acabo de encontrar una situación en la que serían de utilidad:Banderas, enumeración (C)
Tengo un par de objetos que registran a sí mismos como oyentes de ciertos eventos. Para qué eventos se registran depende de una variable que se les envía cuando se construyen. Creo que una buena manera de hacer esto sería enviar variables bit a bit O conectadas, como estas: TAKES_DAMAGE | GRABBABLE | LIQUID, etc. Luego, en el constructor, el objeto puede verificar qué banderas se configuran y registrarlo como oyente para las que sí lo están.
Pero aquí es donde me confundo. Preferiblemente, las banderas estarían en una enumeración. Pero eso también es un problema. Si tenemos estas banderas:
enum
{
TAKES_DAMAGE,/* (0) */
GRABBABLE, /* (1) */
LIQUID, /* (2) */
SOME_OTHER /* (3) */
};
a continuación, enviar el SOME_OTHER bandera (3) será el mismo que enviar GRABBABLE | LIQUIDO, ¿no es así?
¿Cómo se maneja exactamente esto?
@jldupont - ¿Confío en que quería decir "operador de shiFt"? 8v) –
@jldupont Creo que te falta una carta ... – Greg
No creo haber recibido 5 respuestas simultáneamente. o.o Gracias por la excelente explicación y solución. – quano