placeholder 예제 츨처 다른 좋은 예제도 많다..!: https://narss.tistory.com/entry/%EB%B2%94%EC%9A%A9%EC%A0%81-%ED%95%A8%EC%88%98-%ED%8F%AC%EC%9D%B8%ED%84%B0Generalpurpose-function-pointer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> #include <functional> using namespace std; using namespace std::placeholders; //< //_1, _2, ..를 사용하기 위해 void hoo (int a, int b) { cout << "hoo" << a << b << endl; } int main(int argc, char* argv[]) { function<void(int)> f = bind(&hoo, 3, _1); f(5); //< hoo(3, 5); return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> #include <functional> using namespace std; using namespace std::placeholders; //< //_1, _2, ..를 사용하기 위해 void hoo (int a, int b) { cout << "hoo" << a << b << endl; } int main(int argc, char* argv[]) { function<void(int)> f = bind(&hoo, 3, _1); f(5); //< hoo(3, 5); return 0; } | cs |
bind 템플릿 함수에서의 값 레퍼런스로 넣는 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> #include <functional> using namespace std; void foo(int a, int& b) { a = 0; b = 0; } int main(int argc, char* argv[]) { int x = 10, y = 10; function<void()> f; f = bind(&foo, x, ref(y)); // 위의 한 줄은 아래의 두 줄과 동일 // reference_wrapper<int> r1(y); // f = bind(&foo, x, r1); f(); //< foo(x, y) cout << x << endl; //< 10 cout << y << endl; //< 0 } | cs |
'Functional Programming' 카테고리의 다른 글
순수 C++ 고계함수 (0) | 2019.03.23 |
---|---|
T아카데미 함수형 프로그래밍 설명 유튜브 (0) | 2019.03.23 |
std Function 사용법 예제 (0) | 2019.03.23 |
bind 사용법 예제 (0) | 2019.03.23 |
튜플 사용방법 (0) | 2019.03.23 |