Doppelpunkt nach Member?



  • Hallo,

    heute hab ich folgende Syntax zum ersten mal gesehen:

    #include <iostream>
    
    struct test
    {
        int a : 2; // Doppelpunkt
        int b = 2;
    };
    
    int main() 
    {
        test t;
        std::cout << t.a << '\n' << t.b << '\n'; // 0 2
    }
    

    Was genau bedeutet das? Eine Zuweisung ist es ja offensichtlich nicht, wie man an der Ausgabe des Programms sehen kann.

    Bei google finde ich mit "colon/initializer/class" leider nur Erklärungen zur Initializer-List bei Konstruktoren, aber das hier hat ja damit anscheinend nichts zu tun?


  • Mod

    Das ist ein bit field.



  • SeppJ schrieb:

    Das ist ein bit field.

    Ahh, damit findet man auch gleich was bei Google!

    Danke, werd mich gleich mal einlesen 🙂


Log in to reply