bitset::bitset
Erstellt ein Objekt der Klasse bitset<N> und initialisiert die Bits von null oder zu einem dem angegebenen Wert oder die Werte, die aus Zeichen in einer Zeichenfolge abgerufen werden.
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’)
);
Parameter
_Val
Die ganze Zahl, deren Darstellung der Basis zwei verwendet wird, um die Daten am Bitset zu initialisieren, das erstellt wird._Str
Die Zeichenfolge mit null und von einen verwendet, um die Bitsetbitwerte zu initialisieren._CStr
E-ähnlich Zeichenfolge im C-Format aus den null und von einen verwendet, um die Bitsetbitwerte zu initialisieren._Pos
Die Position des Zeichens in der Zeichenfolge, von links nach rechts durch und beginnen mit null, verwendet, um das erste Bit im Bitset zu initialisieren._Count
Die Anzahl der Zeichen in der Zeichenfolge, die verwendet wird, um Anfangswerte für die Bits im Bitset bereitzustellen._Zero
Das Zeichen, das verwendet wird, dass Nullen darzustellen. Der Standard ist "0 "._One
Das Zeichen, das verwendet wird, um das zugrunde. Der Standard ist "1 ".
Hinweise
Drei Konstruktoren können verwendet werden, um obects der Klasse von bitset<N> zu erstellen:
Der erste Konstruktor akzeptiert keine Parameter, erstellt ein Objekt der Klasse bitset<N> und initialisiert alle N-Bits auf den Standardwert null.
Der zweite Konstruktor erstellt ein Objekt der Klasse bitset<N> und initialisiert die Bits, indem den einzelnen unsigned long long-Parameter verwendet.
Der dritte Konstruktor erstellt ein Objekt der Klasse bitset<N> und initialisiert die N-Bits zu den Werten, die auf die Zeichen entsprechen, die in er-ähnlich Zeichenfolge im C-Format aus null und einen aus bereitgestellt werden. Sie rufen den Konstruktor auf, ohne die Zeichenfolge in einen Zeichenfolgentyp umzuwandeln: bitset<5> b5("01011");
Es gibt auch zwei bereitgestellte Konstruktorvorlagen:
Die erste Konstruktorvorlage erstellt ein Objekt der Klasse bitset<N> und initialisiert Bits von Zeichen, die in einer Zeichenfolge von null und einen aus bereitgestellt werden. Falls bei Zeichen der Zeichenfolge auf 0, 1, oder der Konstruktor löst ein Objekt der Klasse ungültiges Argument aus. Wenn die angegebene Position (_Pos) über der Länge der Zeichenfolge hinaus ist, löst der Konstruktor ein Objekt der Klasse out_of_range aus. Der Konstruktor legt nur die Bits an Position J im Bitset fest, für das das Zeichen in der Zeichenfolge an Position 1. _Pos + j ist. Standardmäßig ist _Pos 0.
Die zweite Konstruktorvorlage ist zum ersten, aber den enthält einen zusätzlichen Parameter (_Count) ähnlich der verwendet wird, um die Anzahl der Bits anzugeben, der initialisiert. Sie enthält auch zwei optionale Parameter, _Zero und _One, die angeben, welches Zeichen in _Str interpretiert werden soll, um 0 Bits und 1 ein Bit einzubeziehen, bzw.
Beispiel
// 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;
}
Anforderungen
Header: <Bitset>
Namespace: std