Descrição
É uma classe de objeto de função AND bit a bit e uma classe de objeto de função binária cuja chamada retorna o resultado da aplicação da operação bit a bit "e" entre seus dois argumentos (conforme retornado pelo operador &).
Declaração
A seguir está a declaração para std :: bit_and.
template <class T> struct bit_and;
C ++ 11
template <class T> struct bit_and;
Parâmetros
T - É um tipo de argumento e tipo de retorno da chamada funcional.
Valor de retorno
Nenhum
Exceções
noexcep - Não lança nenhuma exceção.
Exemplo
No exemplo a seguir, explica sobre std :: bit_and.
#include <iostream>
#include <functional>
#include <algorithm>
#include <iterator>
int main () {
int values[] = {1000,2000,3000,4000,5000};
int masks[] = {0xf,0xf,0xf,255,255};
int results[5];
std::transform (values, std::end(values), masks, results, std::bit_and<int>());
std::cout << "results:";
for (const int& x: results)
std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
8 0 8 160 136