続・関数オブジェクト
もうひとつ、関数オブジェクトってのがある。operator() を持つオブジェクト。
例を出す。まー、クロージャですね。
#include <stdio.h> struct CountedHello { int counter; CountedHello() : counter(0){} void operator() (void) { counter++; printf("Hello (%d)\n", counter); } } hello; int main() { hello(); hello(); hello(); printf("hello's counter = %d\n", hello.counter); }
ところで、関数オブジェクトをファンクターと言うのは止めて欲しい。