LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Это же классическое каррирование, создание функций которые получили промежуток нужных данных

в плюсах это делается через функторы, типа…

class MyFunctor{
  int _param;
public:
  MyFunctor(int fpar):_param(fpar){}
  int operator () (int fint) {return _param+fint; }
};

auto f1 = MyFunctor(100); /// 
auto f2 = MyFunctor(200);
int x = f1(10) + f2(10);

это я к тому, что все эти ваши «настоящие замыкания» и «каррирования», с которыми функциональщики носятся как с писаной торбой.. всего лишь слабое подобие нормального ооп,с красивыми классами и строгой типизацией.

Исходная версия alysnix, :

Это же классическое каррирование, создание функций которые получили промежуток нужных данных

в плюсах это делается через функторы, типа…

class MyFunctor{
  int _param;
public:
  MyFunctor(int fpar):_param(fpar){}
  int operator () (int fint) {return _param+fint; }
};

auto f1 = MyFunctor(100); /// 
auto f2 = MyFunctor(200);
int x = f1(10) + f2(10);