1.可调用对象
需要重载operator()
class G {
public:
int operator()(int i, int j) {
return i + j;
}
};
调用方式一定是一个G的对象,然后参数为两个int。
G g;
cout << g(40, 50) << endl;
cout << G()(30, 40) << endl;
cout << greater<int>()(11, 10) << endl;
cout << equal_to<int>()(20, 30) << endl;
G(),greater<int>()实际是临时构造一个G的对象,再用(30,40)去调用operator()。