Namespaces
Variants

std::bitset<N>::set

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support linguistique
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
 
bitset& set();
(1) (noexcept depuis C++11)
(constexpr depuis C++23)
bitset& set( std::size_t pos, bool value = true );
(2) (constexpr depuis C++23)

Met tous les bits à true ou met un bit à une valeur spécifiée.

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

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)