我不確定下面的類到底是什麼,我們有一個類示例。在下面的代碼中,operator()在這種情況下做了什麼?我並不完全明白*(開始+第一)和幾乎整個返回表達式作爲正在評估的內容。任何幫助都會很棒。謝謝!幫助理解C++,模板,運算符的類示例代碼()
// 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