함수포인터
-
콜백함수 (함수객체, 템플릿)프로그래밍 언어/C++ 2024. 7. 5. 13:14
1. 콜백함수2. 함수포인터를 사용할 경우3. 템플릿 사용 안할 경우4. 템플릿을 사용 할 경우콜백함수원하는 순간에 원하는 함수를 호출한다인자로서 동작을 넘길때 사용 (유용)함수 포인터의 경우 상태를 저장할 수 없으므로, 하드코딩해야한다 함수포인터를 사용할 경우class Item{public:public: int _rarity = 0; int _ItemId = 0; int _ownerId = 0;};bool FindByOwnerId_FUNC(const Item* item){ return (item->_ownerId == 100);}Item* FindItem(Item items[], int itemCount, bool(*selector)(const Item* item)){ for (int i = 0; i ..
-
함수 객체 (C++)프로그래밍 언어/C++ 2024. 7. 5. 11:51
1. 함수객체 형태2. 함수객체 특징 함수 객체 형태//class [함수객체이름]class Functor{public: //[반환타입] oprator()([인자],..) { //TODO } void operator()() { cout 클래스와 동일하다연산자 오버로딩을 통해서 클래스가 함수로서 사용할 수 있도록 한다. 함수 객체 특징연산자 오버로딩을 통해 여러종류의 반환타입, 인자타입 및 개수를 생성할 수 있다.상태값을 가질 수 있다 ( ex) _value )
-
함수포인터 (C++)프로그래밍 언어/C++ 2024. 7. 5. 11:44
1. 함수포인터 형태2. 함수포인터 특징3. 함수포인터와 멤버변수 함수 포인터 형태[반환TYPE] (*[함수포인터이름]) ([인자],..)ex)int (*intPtr) (int num1,int num2); typedef int(FUNC_)(int, int);typedef int(*FUNC_PTR)(int, int);int Add(int a, int b){ return a + b;}int main(){ FUNC_* a = Add; cout Typedef 연관일반적인 typedeftypedef int INT; // int를 INT로 사용하겠다 typedef int (FUNC) (int num1, int num2);FUNC : int의 반환타입을 가지고, 인자 num1, num2를 가지는 함수typ..