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, 510);
    return length5;
}
 
 
 
 
 
int main(int argc, char *argv[])
{
 
    auto length5_10 = rect_length5_10();
 
 
    cout << "end main " << endl;
    return 0;
 
}
 
cs


'Generic Programming' 카테고리의 다른 글

enable if 두번째 예제 is Same 추가  (0) 2019.03.30
enable if 사용법  (0) 2019.03.30
가변인자 템플릿 파라미터 팩 재귀호출 예제  (0) 2019.03.30
템플릿 예제  (0) 2019.03.23
가변인자 템플릿 예제  (0) 2019.03.22

+ Recent posts