Перегрузка и использование оператора C ++
-
06-07-2019 - |
Вопрос
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
.
Другие советы
вот пример перегрузки скобок
http://www.java2s.com/Code/Cpp/Overload /DemoOverload.htm р>
и еще один
http://www.learncpp.com/ CPP-учебник / 99-перегрузка-заместитель скобка-оператор / р>
Не связан с StackOverflow