std::bitset<N>:: reference
|
class
reference
;
|
||
La clase
std::bitset
incluye
std::bitset::reference
como una clase anidada de acceso público. Esta clase se utiliza como un objeto proxy para permitir a los usuarios interactuar con bits individuales de un bitset, ya que los tipos estándar de C++ (como referencias y punteros) no están construidos con suficiente precisión para especificar bits individuales.
El uso principal de
std::bitset::reference
es proporcionar un lvalue que puede ser devuelto desde
operator[]
.
Cualquier lectura o escritura en un bitset que ocurra a través de una
std::bitset::reference
potencialmente lee o escribe en el bitset subyacente completo.
Contenidos |
Funciones miembro
|
(constructor)
|
construye la referencia
(función miembro pública) |
|
(destructor)
|
destruye la referencia
(función miembro pública) |
|
operator=
|
asigna un valor al bit referenciado
(función miembro pública) |
|
operator bool
|
devuelve el bit referenciado
(función miembro pública) |
|
operator~
|
devuelve el bit referenciado invertido
(función miembro pública) |
|
flip
|
invierte el bit referenciado
(función miembro pública) |
std::bitset<N>::reference:: reference
|
reference
(
const
reference
&
)
=
default
;
|
(desde C++11)
(constexpr desde C++23) |
|
Construye la referencia a partir de otra referencia. El constructor de copia se declara implícitamente. (hasta C++11)
Otros constructores solo pueden ser accedidos por
std::bitset
.
std::bitset<N>::reference:: ~reference
|
~reference
(
)
;
|
(constexpr desde C++23) | |
Destruye la referencia.
std::bitset<N>::reference:: operator=
|
reference
&
operator
=
(
bool
x
)
;
|
(1) |
(noexcept desde C++11)
(constexpr desde C++23) |
|
reference
&
operator
=
(
const
reference
&
x
)
;
|
(2) |
(noexcept desde C++11)
(constexpr desde C++23) |
Asigna un valor al bit referenciado.
Parámetros
| x | - | valor a asignar |
Valor de retorno
* this
std::bitset<N>::reference:: operator bool
|
operator
bool
(
)
const
;
|
(noexcept desde C++11)
(constexpr desde C++23) |
|
Devuelve el valor del bit referenciado.
Valor de retorno
El bit referenciado.
std::bitset<N>::reference:: operator~
|
bool
operator~
(
)
const
;
|
(noexcept since C++11)
(constexpr since C++23) |
|
Devuelve el inverso del bit referenciado.
Valor de retorno
El inverso del bit referenciado.
std::bitset<N>::reference:: flip
|
reference
&
flip
(
)
;
|
(noexcept desde C++11)
(constexpr desde C++23) |
|
Invierte el bit referenciado.
Valor de retorno
* this
Ejemplo
#include <bitset> #include <iostream> int main() { std::bitset<4> bs{0b1110}; std::bitset<4>::reference ref = bs[2]; auto info = [&](int id) { std::cout << id << ") bs: " << bs << "; ref bit: " << ref << '\n'; }; info(1); ref = false; info(2); ref = true; info(3); ref.flip(); info(4); ref = bs[1]; // operator=( const reference& x ) info(5); std::cout << "6) ~ref bit: " << ~ref << '\n'; }
Salida:
1) bs: 1110; ref bit: 1 2) bs: 1010; ref bit: 0 3) bs: 1110; ref bit: 1 4) bs: 1010; ref bit: 0 5) bs: 1110; ref bit: 1 6) ~ref bit: 0
Véase también
|
accede a un bit específico
(función miembro pública) |