std::bitset<N>::operator[]
Du site fr.cppreference.net
bool operator[]( std::size_t pos ) const;
|
(1) | (constexpr depuis C++11) |
reference operator[]( std::size_t pos );
|
(2) | (constexpr depuis C++23) |
Accède au bit à la position pos.
1) Renvoie la valeur du bit.
2) Renvoie un objet de type std::bitset::reference qui permet de modifier la valeur.
|
Si |
(jusqu'à C++26) |
|
Si
|
(depuis C++26) |
Paramètres
| pos | - | position du bit à retourner |
Valeur de retour
1)
La valeur du bit demandé.
2)
Un objet de type
std::bitset::reference
, qui permet d'écrire dans le bit demandé.
Exceptions
Ne lance rien.
Exemple
Exécuter ce code
#include <bitset> #include <cstddef> #include <iostream> int main() { std::bitset<8> b1{0b00101010}; // littéral binaire pour 42 for (std::size_t i = 0; i < b1.size(); ++i) std::cout << "b1[" << i << "]: " << b1[i] << '\n'; b1[0] = true; // modifie le premier bit via bitset::reference std::cout << "Après avoir défini le bit 0, b1 contient " << b1 << '\n'; }
Sortie :
b1[0]: 0 b1[1]: 1 b1[2]: 0 b1[3]: 1 b1[4]: 0 b1[5]: 1 b1[6]: 0 b1[7]: 0 After setting bit 0, b1 holds 00101011
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 11 | C++98 |
1. la description était manquante dans le standard C++
2. il n'y avait que la surcharge non-const |
1. description ajoutée
2. ajout de la surcharge const |
| LWG 907 | C++98 |
le comportement de lecture du bit à
pos
était équivalent
à celui de
test(pos)
, mais
test()
peut lever des exceptions
|
évite de mentionner
test()
|
Voir aussi
|
accède à un bit spécifique
(fonction membre publique) |