Maison  >  Article  >  développement back-end  >  Comment puis-je déterminer dynamiquement la taille d'un Bitset en C ?

Comment puis-je déterminer dynamiquement la taille d'un Bitset en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-24 09:41:11656parcourir

How Can I Dynamically Determine the Size of a Bitset in C  ?

Détermination de la taille du jeu de bits à l'initialisation

En C , les jeux de bits sont généralement définis avec une taille spécifique, comme le montre l'exemple :

bitset<6> myBitset;

Cependant, lors de la définition de bitsets dans les classes, la taille peut ne pas être connue au moment de la compilation. Cela soulève la question de savoir comment déterminer dynamiquement la taille du jeu de bits.

Une solution tentée consiste à utiliser un pointeur vers un jeu de bits :

#include <bitset>

class Test {
public:
    std::bitset *myBitset;
};

Cependant, cette approche ne parvient pas à compiler. Alternativement, l'initialisation du jeu de bits avec une taille déterminée au moment de l'exécution ne fonctionne pas non plus :

int size = getDependentSizeForBitset();
myBitset = new bitset<size>();

Solutions

  • Boost Dynamic_bitset :

Les bibliothèques Boost fournissent un Dynamic_bitset qui permet un redimensionnement dynamique de bitsets.

  • vector:

Bien que cela ne soit pas recommandé, std::vector peut être spécialisé pour simuler un jeu de bits, offrant des capacités de redimensionnement dynamique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn