目录
unary_function与binary_function
例如,一个很简单问题,求两个数中的较大数,用C++代码很好写,如下:
int Max(const int num1, const int num2)
{
return num1 >= num2 ? num1 : num2;
}
仿函数
对于这种问题,如果你想把代码写的让人捉摸不透,怎么搞呢?那么就用STL仿函数functor来实现,也可以称之为函数对象,在struct或class内重载()操作符来实现,那么上面的代码可以改写成下面这种形式:
struct Max2
{
int operator()(const int num1, const int num2) const
{
return num1 >= num2 ? num1 : num2;
}
};
或者class的形式
cla