cpp / intermediate
Snippet
Typsichere Bitmanipulation mit Bitset
std::bitset bietet eine speichereffiziente Möglichkeit, eine Bitfolge fester Größe zu verwalten. Im Gegensatz zu manuellen bitweisen Operationen auf Integern bietet es Methoden wie 'test', 'set' und 'flip', die eine bessere Abstraktion und Sicherheit beim Umgang mit Flags gewährleisten.
snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>#include <bitset>int main() {// Represents 8 bits, initialized to zerostd::bitset<8> flags;flags.set(1); // Set bit at index 1flags.flip(3); // Toggle bit at index 3if (flags.test(1)) {std::cout << "Bit 1 is active: " << flags << std::endl;}return 0;}
Erklärung
1
std::bitset<8> flags;
Allokiert eine kompakte Struktur, die 8 einzelne Bits enthält.
2
flags.test(1)
Prüft, ob das Bit an der angegebenen Position gesetzt ist, und gibt einen booleschen Wert zurück.