콜백 함수일반적으로 클라이언트가 서버 코드를 호출하는데 이를 콜(Call)이라 하고,서버가 클라이언트를 호출하면 콜백(Callback)이라 한다.STL의 많은 알고리즘도 콜백을 이용해 클라이언트 정책을 반영한다.윈도의 모든 프로시저는 시스템이 호출하는 "콜백 함수"이다. 함수 포인터를 활용한 콜백 메커니즘 코드 #include using namespace std;///배열의 모든 원소에 반복적인 작업을 수행하게 추상화void For_each(int* begin, int* end, void(*pf)(int)) { while (begin != end) { pf(*begin++); }}void Print1(int n) { cout For_each함수가 Print1, 2, 3을 호출하는 콜백 메커니즘입니다...
함수 포인터함수의 시작 주소를 저장하는 포인터주로 변수를 저장할때 포인터를 써왔지만 함수도 스택에 주소가 저장되기 때문에 포인터를 통해 참조가능. 함수의 시작 주소를 저장하는 포인터로 함수 시그니처(함수의 반환 타입과 매개변수 리스트)와 같게 선언. #include using namespace std;void Print(int n) { cout void(*pf)(int)void : 반환값이 없다.(*pf): 함수 포인터(int): 매개변수를 int형으로 받는다.Print 전역변수를 pf에 할당해주기 위해서는 함수포인터의 반환값과 매개변수 즉 시그니처를 맞춰줘야함. 결과
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.