Namespaces
Variants

std::bitset<N>:: set

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

Définit tous les bits à true ou définit un bit à une valeur spécifiée.

1) Définit tous les bits à true .
2) Définit le bit à la position pos à la valeur value .

Table des matières

Paramètres

pos - la position (en comptant à partir de 0 , c'est-à-dire du bit le moins significatif au plus significatif) du bit à définir
value - la valeur à attribuer au bit

Valeur de retour

* this

Exceptions

2) Lance std::out_of_range si pos ne correspond pas à une position de bit valide.

Exemple

#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';
}

Sortie :

00000000
11111111
00000000
10101010

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
LWG 186 C++98 le type de value était int corrigé en bool
LWG 2250 C++98 le comportement était indéfini si pos ne
correspondait pas à une position de bit valide
lève toujours une
exception dans ce cas

Voir aussi

définit les bits à false
(fonction membre publique)
inverse les valeurs des bits
(fonction membre publique)