Flags

Ich saß vor kurzem an der Arbeit und habe eine Funktion gebastelt, die ziemlich viele Parameter benötigt.

Also habe ich mir mal ein paar Gedanken über Flags gemacht und folgendes ist dabei herausgekommen:

#define FLAG_SET(f,v,bl) (bl) ? (v |= f) : (v &= ~f);
#define FLAG_GET(f,v) ((f&v)>0) || (f==0)
 
enum eFlags {
    STANDARD, //schließt alle anderen Optionen aus!
    FIRST   = 1 << 0,
    SECOUND = 1 << 1,
    THIRD   = 1 << 2,
    FOURTH  = 1 << 3
};

Mich würde interessieren, ob es nicht noch schönere bzw. schnellere Methoden gibt, dieses Probleme zu lösen.
 

6 thoughts on “Flags

  1. Pingback: ontario payday loans

Leave a Reply