surcharge et utilisation de l'opérateur c ++
-
06-07-2019 - |
Question
opérateur bool () (Iterator it1, Iterator it2) const { return (* it1 < * it2); }
Quelqu'un peut-il m'expliquer cette fonction, merci! est-ce que cela signifie surcharger l'opérateur ()? après avoir surchargé cela, comment l'utiliser?
La solution
Cela signifie quelque chose comme si vous aviez un class
appelé Compare
, par exemple:
Compare cmp;
....
if(cmp(it1, it2))
{
std::cout << "First element is greater";
}
else
{
std::cout << "Second element is greater";
}
Votre objet devient comme un function
et est appelé dans C++
monde Functor
.
Autres conseils
voici un exemple de parenthèses surchargées
http://www.java2s.com/Code/Cpp/Overload /DemoOverload.htm
et un autre
http://www.learncpp.com/ cpp-tutorial / 99-overloading-the-parenthesis-operator /
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow