関数ポインタの配列

たまにやろうと思っては忘れるので、書き残しておく。

#include <iostream>

bool a(int n, int m) { return n > m; }
bool b(int n, int m) { return n == m; }
bool c(int n, int m) { return n < m; }
bool d(int n, int m) { return n == m; }

int main () {
  bool (*x[])(int, int) = {a, b, c, d};
  for (int i = 0; i < 4; i++) {
    std::cout << x[i](0,1) << std::endl;
  }
}

bool (*x[])(int, int) = {a, b, c, d};
なかなか覚えられない・・