Flags



  • Hallo,
    kann mir mal jemand sagen, wie man flags abfrägt??? Irgendwie mit dem & Operator
    habe ich beim googlen gesehen, aber das hab ich irgendwie nicht gechecked.

    Vielen Dank!!!



  • Das sind Bit-Operatoren was du suchst.

    Jedes Bit steht für eine Potenz von 2, siehe binäres Zahlensystem, Aufbau eines Bytes etc.

    Du erstellst Flag-Konstante, zB:

    const int flag_Important = 1;
    const int flag_Perverted = 2;
    const int flag_Boring    = 4;
    const int flag_Private   = 8;
    

    und so weiter.

    Dann kannst du folgendes machen:

    if (dateiFlag & flag_Important){
      //... was gemacht werden soll wenn dateiFlag den Flag für Important hat
    }
    

    Der &-Operator setzt bei dem Resultat nur die Bits, die bei beiden Operanden vorhanden sind. Dann wird geprüft ob dieses Resultat ungleich 0 ist und wenn das der Fall ist, war das Flag gesetzt.

    Erstellen eines Flags für etwas geht zB so:

    int meinPrivaterWichtigerFlag = flag_Private | flag_Important;
    

    Der | Operator setzt die Bits beim Resultat, die mindestens in einem der beiden Operanden gesetzt waren.



  • Danke! Jetzt habe ich's verstanden!!! 😃


Log in to reply