Namespaces
Variants

std::bitset<N>:: set

From cppreference.net
Utilities library
bitset & set ( ) ;
(1) (noexcept seit C++11)
(constexpr seit C++23)
bitset & set ( std:: size_t pos, bool value = true ) ;
(2) (constexpr seit C++23)

Setzt alle Bits auf true oder setzt ein einzelnes Bit auf einen bestimmten Wert.

1) Setzt alle Bits auf true .
2) Setzt das Bit an Position pos auf den Wert value .

Inhaltsverzeichnis

Parameter

pos - die Position (gezählt ab 0 , d.h. vom niederwertigsten zum höchstwertigen Bit) des zu setzenden Bits
value - der Wert, auf den das Bit gesetzt werden soll

Rückgabewert

* this

Exceptions

2) Wirft std::out_of_range wenn pos keiner gültigen Bit-Position entspricht.

Beispiel

#include <bitset>
#include <cstddef>
#include <iostream>
int main()
{
    std::bitset<8> b;
    std::cout << b << '\n';
    std::cout << b.set() << '\n';
    std::cout << b.reset() << '\n';
    for (std::size_t i = 1; i < b.size(); i += 2)
        b.set(i);
    std::cout << b << '\n';
}

Ausgabe:

00000000
11111111
00000000
10101010

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 186 C++98 der Typ von value war int korrigiert zu bool
LWG 2250 C++98 das Verhalten war undefiniert wenn pos keiner
gültigen Bit-Position entspricht
wirft in diesem Fall immer eine
Exception

Siehe auch

setzt Bits auf false
(öffentliche Elementfunktion)
wechselt die Werte der Bits
(öffentliche Elementfunktion)