Generic Programming
커리 반대쪽부터 채우기
hellobird
2019. 3. 30. 15:44
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | template<typename Func,typename... Args> auto curry(Func func, Args... args){ return [=]( auto... secondParam){ return func(args..., secondParam...); }; } template<typename Func,typename... Args> auto curryBackword(Func func, Args... args){ return [=]( auto... secondParam){ return func( secondParam..., args... ); }; } int areaOfRectangle(int length, int width, int option ){ qDebug() << __func__; qDebug() << "len : " << length << "wid : " << width << " op : " << option; return length * width; } auto rect_length5_10(){ auto length5 = curryBackword(areaOfRectangle, 5, 10); return length5; } int main(int argc, char *argv[]) { auto length5_10 = rect_length5_10(); cout << "end main " << endl; return 0; } | cs |