#include<iostream>
using namespace std;
///////////////////////////////////////////////////////////////////
// perfect forwarding (완벽한 전달자 문제)
////////////////////////////////////////////////////////////////////
void foo(int &a){
a+=10;
cout << "foo" << endl;
}
void goo(int a){cout << "GOO " << endl;}
//함수를 호출해주는 도구 - 바인더가 결국 함수를 가지고 있다고 다시 호출해
// 주는 것입니다.
//
template<typename F, typename ARG> void Caller(F f,const ARG &a) //함수도 전달되고 상수도 전달되는 퍼팩트 포워딩법
{
f(a);
}
int main(){
//goo(10);
Caller(goo,10);
}
/*
int main(){
int a= 10;
//foo(a);
Caller(foo,a);
cout << a <<endl;
}
*/
'C,C++ > Android_FrameWork' 카테고리의 다른 글
[SSM 안드로이드 프레임워크 개발 강의]32. 클라이언트에서 바인더로 통신방법의 원리 (0) | 2012.08.17 |
---|---|
[SSM 안드로이드 프레임워크 개발 강의]30.Traits (타입 판독 STL) (0) | 2012.08.16 |
[SSM 안드로이드 프레임워크 개발 강의]29. 템플릿이야기3 (멤버함수 템플릿) (0) | 2012.08.16 |
[SSM 안드로이드 프레임워크 개발 강의]28. 템플릿이야기 2(클래스 템플릿) (0) | 2012.08.16 |
[SSM 안드로이드 프레임워크 개발 강의]27. 템플릿이야기 1 (0) | 2012.08.16 |