Каррирование: различия между версиями

402 байта добавлено ,  8 лет назад
Нет описания правки
boost::function<int(int)> curry(int a) {
return (a + boost::lambda::_1);
}
int a = curry(4)(5); // 9
</source>
 
Впрочем, в относительно простых (тривиальных) случаях достаточно [[Стандартная библиотека C++|Стандартной библиотеки С++ (STL)]].
<source lang="cpp">
#include <functional>
std::binder1st<std::plus<int> > curry(int a) {
return std::bind1st(std::plus<int>(), a);
}
int a = curry(4)(5); // 9
7

правок