템플릿3 콜백함수 (함수객체, 템플릿) 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 .. 2024. 7. 5. Template (클래스 템플릿 , c++) 1. 클래스 템플릿 2. 클래스 템플릿 특수화 3. 클래스 템플릿 다중 인자 클래스 템플릿templateclass RandomBox{public: T GetRandomData() { int idx = rand() % 10; return _data[idx]; }public: T _data[10];};int main(){ RandomBox rb1;}class 선언 위에 템플릿 선언class 내부에서 아직 미정된 타입인 부분에 템플릿 사용인스턴스 생성시, 처럼 타입 지정 클래스 템플릿 특수화templateclass RandomBox{public: T GetRandomData() { int idx = rand() % 10; return _data[idx]; }publ.. 2024. 7. 5. Template (함수 템플릿 - c++) 1. 함수 템플릿 형태 2. 함수 템플릿 특징 3. 함수 템플릿 특수화 함수 템플릿 형태//templatetemplatevoid Print(T a){ cout (50.f); //명시적으로도 가능 Print(50.f); Print(50.0); Print("Hello");}템플릿이 사용되는 함수 위에 template 정의template 또는 template다양한 타입을 받을 수 있는 형태template서로다른 A,B,C 타입 3개를 받을 수 있다templatevoid Print(T t, A a, B b){ cout (3.f, 50, 50.f); //명시적으로도 가능 } 함수 템플릿 특징장점코드 재사용성이 높다타입 안정성유연하게 코드 작성 가능단점복잡성 증가가독성 문제컴파일 시간 증가 함수 템플릿.. 2024. 7. 5. 이전 1 다음