Partage
  • Partager sur Facebook
  • Partager sur Twitter

[c++] Créer un tableau de champs de bits

Comment faire?

    9 juin 2006 à 17:29:17

    Bonjour amis zéros!

    Je m'acharne actuellement sur un petit résoluteur de sudoku de mon cru (histoire de s'amuser et de me familiariser avec les interfaces graphiques basées sur qt), mais afin d'optimiser son fonctionnement je cherche à créer un tableau de champs de bits.

    Je m'explique: les membres du tableau
    unsigned int oppositions[9][9][9];


    Peuvent varier selon le fonctionnement de mon algorithme qu'entre 0 et 3, je me dis alors qu'il serait plus performant de créer le tableau à la manière d'un champs de bits:
    unsigned int oppositions[9][9][9]: 2;


    Erreur du compilateur!
    algorithmicsudoku.h:40: error: invalid member function declaration


    Messieurs-dames les Zéros, j'implore celui qui comprend mon intention de m'expliquer cette erreur ou de m'indiquer la voie à suivre afin de créer des tableaux de champs de bits.
    • Partager sur Facebook
    • Partager sur Twitter
      9 juin 2006 à 17:32:31

      Salut à toi. A ce que j'ai pu lire, tu ne peux atribuer des champs de bits qu'à des champs d'une structure. Exemple


      struct Structure
      {
          char c : 5;
          unsigned int b : 8;
          long : 4;
      }
      • Partager sur Facebook
      • Partager sur Twitter
        9 juin 2006 à 17:37:34

        Donc, traduit en C++, je ne pourrait que faire 9*9*9 variables différentes dans ma class?

        Il est vrai que
        unsigned int oppositions: 2;
        marche...

        N'y aurait-il pas une solution?


        Edit:

        class TwoBits{
            public:
                unsigned int value: 2;
        };


        suivi de dans la class ou je travaille
        TwoBits oppositions[9][9][9];


        en admettant qu'il faille travailler avec oppositions[x][y][z].value ou en définissant les opérateurs de la calss TwoBits, donne une résultat potable, mais je doute que ce soit la solution la plus élégante...

        Aussi, est-ce qu'un objet de la class TwoBits ferait bel et bien 2 bits (je n'en ai aucune idée)?
        • Partager sur Facebook
        • Partager sur Twitter

        [c++] Créer un tableau de champs de bits

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown