【理解】重载函数调用(Funtion Call)运算符()

  • 定义
    Funtion Object是某种class的实例对象,称为函数对象。这类class对函数调用运算符(Funtion Call)做了重载操作。

  • 用处
    使Funtion Object可以被当作一般函数使用。

  • 测试

1.代码

class LessThan {
public:
    //自己定义的比较函数,也就是重载函数调用运算符
	bool operator()( const string &s1, const string &s2 ) 
	               { return s1.size() < s2.size(); }
};

int main()
{
	vector<string> text;
	//sort函数可以直接调用比较函数
	sort( text.begin(), text.end(), LessThan() );
}

2.结果
实现了按字符串长度的从小到大排序。

你可能感兴趣的:(【理解】重载函数调用(Funtion Call)运算符())