C++ (32) 썸네일형 리스트형 [C++] C++에서 C# delegate 만들기 Delegate란? 사전적 의미의 delegate는 '대리자'로써 뭔가를 대신 해준다는 의미고, C#에서의 delegate는 일종의 콜백 함수'리스트'로써 입력과 출력이 동일한 함수들을 일괄 호출하는데 사용된다. 이게 C++ 관점에서 보면 함수 포인터 리스트를 들고 있는 간단한 클래스 정도인데, 개념적으로도 어렵지 않고 구현하는 것도 그렇게 어렵지 않다. 말 그대로 함수 포인터 리스트를 만들어도 되고, 인터페이스 클래스를 정의하고 그걸 상속 받은 클래스 리스트를 만들어도 된다. 다만...필요할때 마다 매번 만드는게 은근 귀찮아 template과 operator overriding을 이용하여 재사용 가능한 delegate 클래스를 만들어 보도록 하겠다(c++ 11 이상). C# Delegate의 인터페이스.. [C++] 'template' 키워드를 한정자로 사용하기 템플릿 멤버 함수를 특별하게 구분해야 할 필요가 있는 경우 한정자로써 'template' 키워드를 사용한다. 아래 예제 코드를 보고 언제 'template' 키워드를 한정자로 사용해야 하는지 살펴보자 class A { public : template T function_m() {}; }; template void function_n(U argument) { char object_x = argument.function_m(); } 위 예제에서, 컴파일러는 템플릿 인자 U가 클래스 A의 인스턴스라는 것을 추론하지 못하기 때문에 'function_m'이 템플릿 멤버 함수라는 것을 알지 못하고 ' 이전 1 2 3 4 다음