Bonjour à tous,

J'aimerais avoir votre avis sur l'utilisation du type bitset pour gérer des booléens.
J'ai par exemple une classe Widget qui gère plusieurs états vis à vis de la souris (intercepte les clics de la souris gauche / droit / central, intercepte les mouvements de la souris...). J'aimerais stocker l'ensemble de ces états (booléens) dans une seule variable, en gérant des bits. En fouinant à droit à gauche, je suis finalement tombé sur la classe bitset. J'ai l'impression que c'est cette classe qu'il faut utiliser, mais je ne sais pas encore trop comment...

Voici un code qui expose ma situation actuelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <bitset>
#include <iostream>
#include <string>
 
const std::bitset<10> HANDLE_LEFT_CLIC(std::string("0100000000"));
 
int main()
{
    std::bitset<10> A(std::string("0101010101"));
 
    if ((A & HANDLE_LEFT_CLIC) == HANDLE_LEFT_CLIC)
    {
        std::cout << "Je gère les clics gauches !" << std::endl;
    }
 
	return 0;
}
Ce code est juste là pour vérifier que mon bitset B a le deuxième bit à true... Mais je trouve ça un peu complexe pour un résultat si simple. Y aurait-il un autre moyen, plus direct, de le vérifier (toujours en utilisant une constante comme dans l'exemple) ?

Merci d'avance pour vos réponses