高階関数

そういえばC言語でも高階関数できるんだよなあ、と。よく考えればそうじゃなきゃ、qsort関数とか役にたたないな。

#include <stdio.h>
int plus(int a, int b){return a+b;}
int minus(int a, int b){return a-b;}
int acum(int (*f)(), int a, int b){
  return f(a, b);
}
main(){
  printf("%d\n", acum(plus, 5, 2));
  printf("%d\n", acum(minus, 5, 2));
}

実行結果

7
3

うーん無名関数作りたい。C++なのかやっぱり。

test