Bibliothèque fonctionnelle C ++ - bit_and

La description

Il s'agit d'une classe d'objets de fonction AND au niveau du bit et d'une classe d'objets de fonction binaire dont l'appel renvoie le résultat de l'application de l'opération "et" au niveau du bit entre ses deux arguments (comme renvoyé par l'opérateur &).

Déclaration

Voici la déclaration de std :: bit_and.

template <class T> struct bit_and;

C ++ 11

template <class T> struct bit_and;

Paramètres

T - C'est un type des arguments et un type de retour de l'appel fonctionnel.

Valeur de retour

aucun

Des exceptions

noexcep - Il ne jette aucune exception.

Exemple

Dans l'exemple ci-dessous, explique 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

8 0 8 160 136