bitset::bitset
Crea un oggetto con la classe bitset<N> e inizializzare i bit a zero, o determinati valori specificati, o ai valori ottenuti da caratteri in una stringa.
bitset( );
bitset(
unsigned long long _Val
);
explicit bitset(
const char * _CStr
);
template<
class CharType,
class Traits,
class Allocator
>
explicit bitset(
const basic_string< CharType, Traits, Allocator >& _Str,
typename basic_string<
CharType, Traits, Allocator >::size_type _Pos = 0
);
template<
class CharType,
class Traits,
class Allocator
>
explicit bitset(
const basic_string< CharType, Traits, Allocator >& _Str,
typename basic_string<
CharType, Traits, Allocator >::size_type _Pos,
typename basic_string<
CharType, Traits, Allocator >::size_type _Count,
CharType _Zero = CharType (’0’),
CharType _One = CharType (’1’)
);
Parametri
_Val
Nell'intero senza segno la cui rappresenta la base due da inizializzare i bit nel bitset che viene costruito._Str
La serie di zeri e un utilizzati per inizializzare i valori di bit di bitset._CStr
Stringa di tipo c di zeri e un utilizzati per inizializzare i valori di bit di bitset._Pos
La posizione del carattere nella stringa, contante da sinistra a destra e iniziando da zero, utilizzato per inizializzare il primo bit in bitset._Count
Il numero di caratteri della stringa utilizzata per fornire i valori iniziali per i bit nel bitset._Zero
Il carattere utilizzato per rappresentare uno zero.l'impostazione predefinita è “0 "._One
Il carattere utilizzato per rappresentare l'oggetto.l'impostazione predefinita è “1 ".
Note
Tre costruttori possono essere utilizzati per costruire i obects con classe bitset<N>:
Il primo non accetta parametri, costruire un oggetto con la classe bitset<N> e inizializza tutti i bit più livelli su un valore predefinito zero.
Il secondo costruttore crea un oggetto con la classe bitset<N> e inizializzare i bit utilizzando il singolo parametro unsigned long long.
Il terzo costruttore crea un oggetto con la classe bitset<N>, tramite l'inizializzazione i bit di N ai valori corrispondenti ai caratteri specificati in una stringa di caratteri di tipo c di zeri e un.Chiamare il costruttore senza eseguire il cast della stringa in un tipo stringa: bitset<5> b5("01011");
Esiste inoltre due modelli di costruttore forniti:
Il primo modello del costruttore crea un oggetto con la classe bitset<N> e inizializzare i bit da caratteri specificati in una serie di zeri e un.Se i caratteri della stringa sono diverse da 0 o 1, il costruttore genera un oggetto di classe argomento non valido.Se la posizione specificata () è_Posoltre la lunghezza della stringa, il costruttore genera un oggetto di classe out_of_range.Il costruttore imposta solo i bit nella posizione J in bitset per il quale il carattere nella stringa nella posizione _Pos + j è 1.Per impostazione predefinita, _Pos è 0.
Il secondo modello del costruttore è simile al primo, ma include un parametro aggiuntivo (_Count) utilizzato per specificare il numero di bit per inizializzare.È inoltre disponibile rispettivamente due parametri, _Zero e _Onefacoltativi, che indicano il carattere in _Str deve essere interpretato per indicare a 0 bit e a 1 bit.
Esempio
// bitset_bitset.cpp
// compile with: /EHsc
#include <bitset>
#include <iostream>
int main( )
{
// Using the default constructor
using namespace std;
bitset<2> b0;
cout << "The set of bits in bitset<2> b0 is: ( "
<< b0 << " )." << endl;
// Using the second member function
bitset<5> b1 ( 6 );
cout << "The set of bits in bitset<5> b1( 6 ) is: ( "
<< b1 << " )." << endl;
// The template parameter N can be an expresssion
bitset< 2 * sizeof ( int ) > b2;
cout << "The set of bits in bitset<2 * sizeof ( int ) > b2 is: ( "
<< b2 << " )." << endl;
// The base two representation will be truncated
// if its length exceeds the size of the bitset
bitset<3> b3 ( 6 );
cout << "The set of bits in bitset<3> b3( 6 ) is ( "
<< b3 << " )." << endl;
// Using a c-style string to initialize the bitset
bitset<7> b3andahalf ( "1001001" );
cout << "The set of bits in bitset<7> b3andahalf ( \"1001001\" )"
<< " is ( " << b3andahalf << " )." << endl;
// Using the fifth member function with the first parameter
string bitval4 ( "10011" );
bitset<5> b4 ( bitval4 );
cout << "The set of bits in bitset<5> b4( bitval4 ) is ( "
<< b4 << " )." << endl;
// Only part of the string may be used for initialization
// Starting at position 3 for a length of 6 (100110)
string bitval5 ("11110011011");
bitset<6> b5 ( bitval5, 3, 6 );
cout << "The set of bits in bitset<11> b5( bitval, 3, 6 ) is ( "
<< b5 << " )." << endl;
// The bits not initialized with part of the string
// will default to zero
bitset<11> b6 ( bitval5, 3, 5 );
cout << "The set of bits in bitset<11> b6( bitval5, 3, 5 ) is ( "
<< b6 << " )." << endl;
// Starting at position 2 and continue to the end of the string
bitset<9> b7 ( bitval5, 2 );
cout << "The set of bits in bitset<9> b7( bitval, 2 ) is ( "
<< b7 << " )." << endl;
}
Requisiti
intestazione: <bitset>
Spazio dei nomi: deviazione standard