C++ で bit_xor の実験2018年10月13日 11時16分45秒

C++ に xor をする関数が導入されている。algortihm と相性が良い。
#include <functional>
#include <vector>
#include <iostream>
#include <algorithm>

int main()
{   
    std::vector< int > numbers = { 1, 2, 3, 4, -2,  5, 0, -1 };

    std::for_each( numbers.begin(), numbers.end(), []( int i )
        { std::cout << i << "^-1 = " << std::bit_xor< int &
gt;()( i, -1 ) << std::endl; } );
}
実行結果。
% c++ -std=c++11 bit_xor.cpp
% ./a.out 
1^-1 = -2
2^-1 = -3
3^-1 = -4
4^-1 = -5
-2^-1 = 1
5^-1 = -6
0^-1 = -1
-1^-1 = 0