Вопрос

bool operator () (итератор it1, итератор 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";
}

Ваш объект становится похожим на function и называется в C++ мире Functor.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top