callback 함수
callback 함수는 다른 함수에게 인자로 전달되어 특정 이벤트 발생 시 호출되는 함수입니다. 어떤 함수(=혹은 메소드)를 실행하는 도중에 특정 이벤트가 발생하면, 이벤트 핸들러 함수인 콜백 함수가 자동으로 실행됩니다.
목차
callback 함수
callback 함수란?
callback 함수는 다른 함수에게 인자로 전달되어 특정 이벤트 발생 시 호출되는 함수입니다. 어떤 함수(=혹은 메소드)를 실행하는 도중에 특정 이벤트가 발생하면, 이벤트 핸들러 함수인 콜백 함수가 자동으로 실행됩니다.
callback 함수 실행 절차
1. 함수 포인터 전달 | Callback 함수는 일반적으로 다른 함수에게 인자로 전달됩니다. 이때, Callback 함수의 메모리 주소를 가리키는 함수 포인터를 전달합니다. |
2. 이벤트 발생 또는 작업 수행 | 주로 비동기적인 상황에서, 특정 이벤트가 발생하거나 비동기 작업이 완료됩니다. |
3. Callback 호출 | 해당 이벤트가 발생하거나 작업이 완료되면, Callback 함수를 호출합니다. 이때, 원래의 함수에서 콜백함수를 등록한 위치로 제어가 전달됩니다. |
4. 콜백 실행 | Callback 함수가 호출되면 그 안에 정의된 코드들이 실행됩니다. 여기서 필요한 추가 로직을 수행할 수 있습니다. |
'⭐ Programming > C++' 카테고리의 다른 글
[C++] smart pointer (0) | 2022.04.26 |
---|---|
[C++]L-value와 R-value, R-value reference (0) | 2022.04.24 |
[C++] 콜백 함수 (Callback function) (0) | 2022.04.17 |
[C++] 템플릿(Template) 2: 클래스 템플릿 (0) | 2022.04.17 |
[C++] 템플릿(Template) 1: 함수 템플릿 (0) | 2022.04.16 |
댓글
이 글 공유하기
다른 글
-
[C++] smart pointer
[C++] smart pointer
2022.04.26 -
[C++]L-value와 R-value, R-value reference
[C++]L-value와 R-value, R-value reference
2022.04.24L-value vs. R-value 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! L value L value : 단일식을 넘어서 계속 지속되는 개체 메모리 위치를 참조. 주소가 있는 애들. 대개 식별자. const가 붙으면 수정할 수 없는 l-value가 된다. R value R value : L value가 아닌 나머지 (임시 값, 열거형, 람다, i++ 등) 표현식 종료 후 없어지는임시적인 값 리터럴 임시변수 임시객체. const 로 L value를 R value로 바꿀 수 있다. L value Reference vs. R valu… -
[C++] 콜백 함수 (Callback function)
[C++] 콜백 함수 (Callback function)
2022.04.17콜백 함수 (Callback function) 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! 콜백 함수 함수 포인터 + 함수 객체 + 템플릿 콜백 (Callback) : 다시 호출하다? 역으로 호출하다? 게임을 만들 때 이런 콜백의 개념이 자주 등장한다. ex) MoveTask 실습 등 어떤 상황이 일어나면 -> 이 기능을 호출해줘 ex) UI 스킬 버튼을 누르면 -> 스킬을 쓰는 함수를 호출 콜백 함수의 단점 함수 포인터는 상태를 저장할 수 없다. 함수 포인터로 콜백 함수를 만드는건 간단한 일이지만 상태를 저장할 수 없다는 단… -
[C++] 템플릿(Template) 2: 클래스 템플릿
[C++] 템플릿(Template) 2: 클래스 템플릿
2022.04.17클래스 템플릿 인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기! 클래스 템플릿 #include using namespace std; class RandomBox{ public: int GetRandomData() { int idx = rand() % 10; return _data[idx]; } public: int _data[10]; }; int main(){ srand(static_cast(time(nullptr))); RandomBox rb1; for (int i = 0; i < 10; i++) { rb1._data[i] = i; } i…
댓글을 사용할 수 없습니다.