Je ne suis pas sûr exactement ce que la classe suivante fait que nous avons pour un exemple de classe. Dans le code suivant, que fait l'opérateur() dans ce cas? Je n'ai pas tout à fait le * (début + premier) et à peu près tout l'expression de retour comme ce qui est évalué. Toute aide est la bienvenue. Merci!Aide à la compréhension du code d'exemple de classe pour C++, templates, operator()
// IndexCompare.h - interface for IndexCompare class template
#ifndef _INDEXCOMPARE_H_
#define _INDEXCOMPARE_H_
#pragma once
template <class random_iterator>
class IndexCompare {
public:
IndexCompare(random_iterator begin, random_iterator end)
: begin(begin), end(end) {}
~IndexCompare() {}
bool operator() (unsigned int first, unsigned int second) {
return (*(begin + first) < *(begin + second));
}
private:
random_iterator begin;
random_iterator end;
};
#endif