Maison > développement back-end > C++ > Comment initialiser un Bitset avec une taille variable en C ?

Comment initialiser un Bitset avec une taille variable en C ?

Linda Hamilton
Libérer: 2024-11-19 16:18:03
original
843 Les gens l'ont consulté

How to Initialize a Bitset with a Variable Size in C  ?

Personnalisation de la taille du jeu de bits à l'initialisation

En C , déclarer et utiliser un jeu de bits est simple pour une taille connue, comme le montre cet exemple :

std::bitset<6> myBitset;
Copier après la connexion

Cependant, définir un jeu de bits avec une taille variable lors de l'initialisation de la classe présente un défi. Considérez ce code non compilable :

#include <bitset>
class Test
{
public:
     std::bitset *myBitset;
};
Copier après la connexion

L'initialisation du jeu de bits en fonction d'une taille déterminée dynamiquement échoue également :

int size = getDependentSizeForBitset();
myBitset = new bitset<size>();
Copier après la connexion

Solution :

Pour résoudre ce problème, il existe deux options :

  • Bits dynamiques de Boost :
    Boost fournit un Dynamic_bitset qui vous permet de spécifier dynamiquement la taille du jeu de bits lors de l'initialisation.
  • Vecteur Spécialisation :
    Vecteur en C est spécialisé pour agir comme un jeu de bits. Bien que cela puisse prêter à confusion, cela vous permet d'initialiser un jeu de bits avec une taille variable en utilisant :
std::vector<bool> myBitset;
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal