【C++】否定を実行する関数オブジェクト
int 値の否定
int n = 1; std::cout << std::negate<int>()(n) << std::endl; // -1 int i[] = {1, -2, 3, -4}; std::transform(std::begin(i), std::end(i), i, std::negate<int>()); std::for_each(std::begin(i), std::end(i), [](int x){ std::cout << x << std::endl; }); // -1, 2, -3, 4 std::array<int, 4> ar = {1, -2, 3, -4}; std::for_each(ar.cbegin(), ar.cend(), [](int x){ std::cout << std::negate<int>()(x) << std::endl; }); // -1, 2, -3, 4 // 使用には、#include <functional> が必要になる