У меня есть пример замедления функтора как;Синтаксис определения функтора в C++?
#include <iostream>
class myFunctorClass
{
public:
myFunctorClass (int x) : _x(x) {}
int operator() (int y) { return _x + y; }
private:
int _x;
};
int main()
{
myFunctorClass addFive(5);
std::cout << addFive(6);
return 0;
}
Мои "Что" о линии только после общественности:. Я не понимаю синтаксис строки myFunctorClass (int x) : _x(x) {}
. Что делает и что еще один пример использования такого правила синтаксиса?
Это конструктор, получите [хорошую книгу] (http://tinyurl.com/so-cxxbooks). – Xeo
И функтор не замедляется, поэтому «замещение функтора» не является очень значимым термином –
Инициализирует частный член _x для значения, указанного при вызове конструктора. Таким образом, _x инициализируется до 5 или 6 в вашем случае даже до того, как конструктор действительно работает. – hetepeperfan