bool operator()(Iterator it1, Iterator it2) const { return (*it1 < *it2); }
谁能帮我解释一下这个功能,谢谢!这是否意味着重载运算符()?超载后,如何使用它?
bool operator()(Iterator it1, Iterator it2) const { return (*it1 < *it2); }
谁能帮我解释一下这个功能,谢谢!这是否意味着重载运算符()?超载后,如何使用它?
这意味着如果你有一个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。
这是一个重载括号的例子
http://www.java2s.com/Code/Cpp/Overload/DemoOverload.htm
和另一个
http://www.learncpp.com/cpp-tutorial/99-overloading-the-parenthesis-operator/