1

bool operator()(Iterator it1, Iterator it2) const { return (*it1 < *it2); }

谁能帮我解释一下这个功能,谢谢!这是否意味着重载运算符()?超载后,如何使用它?

4

2 回答 2

5

这意味着如果你有一个class被调用Compare的东西,例如:

Compare cmp;
....
if(cmp(it1, it2))
{
  std::cout << "First element is greater";
}
else
{
  std::cout << "Second element is greater";
}

你的对象变得像 afunction并且它在C++world中被调用Functor

于 2009-09-13T00:01:48.590 回答
4

这是一个重载括号的例子

http://www.java2s.com/Code/Cpp/Overload/DemoOverload.htm

和另一个

http://www.learncpp.com/cpp-tutorial/99-overloading-the-parenthesis-operator/

于 2009-09-12T23:50:29.610 回答